HTABOXコアat TECH
HTABOXコア - 暇つぶし2ch262:デフォルトの名無しさん
10/04/24 18:49:51
>>252
>VBSriptのclassインスタンスがC++からIDispatchExに見えるのか

Windows スクリプト コンポーネント
URLリンク(msdn.microsoft.com)(v=MSDN.10).aspx
これとは違うんだよね よく分からん

263:hidebou
10/04/24 19:59:18
>>262
C++側から見た場合、スクリプトから呼び出されたCOMの引数はVARIANTですが
JScriptのObjectの場合はIDispatchExポインターを保持しています。VBSript
のclassインスタンスもそうなら....という話です。

264:hidebou
10/04/24 20:09:54
もしそうならC++側で要素を列挙できますから構造体の代わりに使えます。

265:hidebou
10/04/25 01:08:36
「柔軟に扱える」の方が適切な表現かも知れません。うまくいけば必要な要
素のみを宣言した「省略構造体」を引数として渡せばC++側が要素を追加して
「完全構造体」を返すというルールが作れるかも知れません。

266:hidebou
10/04/25 22:10:59
従来スクリプトから呼ばれるCOMを作成するためにはレジストリに登録する
パブリックコンポーネントを作成しなければなりませんでした。全くのスク
ラッチでこれを書くこともできますが事実上VC++のATLがないと困難でした。
HTABOXコアはその面倒を内部で処理し単純なDLLでもスクリプトから呼び出さ
れるルールを実現しています。ATLなしでも書けるということは無料の2008で
十分だということです。

267:hidebou
10/04/25 22:21:55
HTABOXコアのサンプルで使用しているCONSOLE.DLLのC++ソースを置きます。
単にWIN32DLLの環境を作りビルドしてください。
URLリンク(www5a.biglobe.ne.jp)
スクリプトとは何か?を理解する最も有効な方法はもっと低水準な観点から
スクリプトを眺めてみる事です。

268:hidebou
10/04/27 21:45:39
最近ASPばかり眺めててHTABOXコアに手を付けられずせっかく作ったプロトも
リリースしていなくてすいません。ASPを眺めていて不思議な現象を発見した
ので話の種にさせてください。#include virtualで別WEBにあるASPを参照し
被参照側のグローバル変数を呼び出し側で<%=HOGE%>すると見えないんです。

269:hidebou
10/04/27 21:53:55
いろいろ設定を変えてもだめでIIS5.0でもIIS5.1でも同じ状態なのです。
でも、ひょんな事からその対策を発見しました。両方同じ言語な場合のみこの
現象が発生しているのです。JSとVB又はVBとJSならこの問題は発生しません。
引き換えにユーザー定義系クラスは参照できませんが、改めてVBScriptの
存在に感謝したしだいです。

270:hidebou
10/04/28 11:50:39
という訳でMSE7.EXE(Microsoft Script Editor)でVBScriptを書く機会が多く
なっているのですが、複数行を一度にコメントアウトする場合面倒だったり
します。VBA環境の場合はその機能があるのですがMSE7.EXEにはありません。
これは検索置き換えで正規表現を使えば簡単に解決できます。コメントアウト
したい範囲を選択して行頭「^」を「'」に置き換えればいいのです。


271:hidebou
10/04/28 12:10:05
正規表現という手法はとっつきにくくて、各環境で微妙な差異があったりし
ますが、使ってみると劇的に作業が楽だったり、ソースコードが簡潔になっ
たりします。特にJScriptのreplaceでは置き換え文字列生成に関数を指定で
きますので柔軟な置き換え結果を生成できます。

272:hidebou
10/04/29 01:07:48
HTABOXコアではなくHTABOXサーバーの話題なのですが、IISで独自認証システ
ムを構築する場合ISAPIフィルタDLLが必須となります。ASPは画像等のGET要
求を知り得ないからです。しかしISAPIフィルタDLLとASPはASPがIISインプロ
セスで動作していない限り交信できません。つまりISAPIフィルタDLLはASPの
セッション情報にアクセスできないというのが通説です。

273:hidebou
10/04/29 01:24:50
HTABOXサーバーのアドバンテージはそれを実現している事です。IISプロセス
とASPプロセスでそれぞれCOMをインスタンス化し、IISの保護されたプロセス
境界を突破する通信手段をCOM内に構築することでDLLとASPは連携できます。
勿論ASPは勝手気ままに消滅するかも知れませんから、DLL側のXMLインスタン
スへ動作を報告し、DLL側は必要に応じてXMLを読むというからくりです。

274:hidebou
10/04/29 01:42:49
ネットでプログラミング系の情報を見ている時に
「○○では○○したくてもできない」
というフレーズを見つけた時はチャンスだと思うんです。なぜならそれを実
現すれば確実にアドバンテージを得ることができると教えてくれているから
です。

275:hidebou
10/04/29 11:30:20
プログラミング業界の格言に「人のやっていないことはやるな」というのが
あります。これは「万人がチャレンジしてだめな手法へチャレンジするな」
という意味です。決まった納期に仕様どおりの製品を納める仕事なら当然の
ことですが、フリーランスプログラマーの場合は逆だと思います「人ができ
ないからチャレンジする」でなければ新しいものは生まれません。

276:hidebou
10/04/29 23:52:24
なんとかHTABOXサーバー側のシステムも営業稼動できる状態に漕ぎ着けたよ
うです。技術的に可能か?が判明すると興味を失って実装部を煮詰めないの
が私の欠点なのですが、霞を食って生きてはゆけないので睡眠時間の少ない
日々をすごしました。最終的に販売動作はサーバーが自動的に行い、私はコ
ンテンツの充実のみに集中できるはずです。


277:hidebou
10/04/30 00:19:56
プログラミングに限って言えばスキルとは頭の良さと無関係なものです。
要は「知っている」か「知らない」かの違いだけだと痛感しています。
私の家族に霞ではなくお米を食べさせなければならないので総てを無料閲覧
可能にはできませんが、実践的で理解しやすい情報を提供してゆく予定です。

278:hidebou
10/05/01 03:33:49
朝4時からですから24時間耐久になりましたがFrontPage Server Extensionsが
管理するDBと独自認証系DBとの良好な位置関係に結論をだすことができました。
これによって書きかけだった救急隊用医療情報分析システムをサーバーに組み
込む作業も終了し一般公開へ大きく前進できたと思います。

279:hidebou
10/05/01 03:58:45
こいつはソースで250Kくらいになる退屈な構造のプログラムなのですが、HTA
BOXコアがきちんと大きなボリュームに耐えられるのかのテストでもありました。
勿論パース中は若干もたつきますが、サーバーからの認証ダイアログに答える
必要があるので、それに気をとられてあまり気にならないという素敵な誤算も
あるようです。


280:hidebou
10/05/08 23:39:03
いまだサーバー側の独自認証システムコードから抜け出せずにいます。
FrontPageが生成するVBScriptコードを再利用するという発想がいやらしすぎ
るらしく、最後に蹴られるという展開を何度も繰り返してしまいました。
まさに「策士策に溺れる」の展開なので、初心に帰って朴訥なコードを書き
HTABOXコアのほうに手をつけれるようにしたいと思っています。

281:デフォルトの名無しさん
10/05/14 18:43:04
<script language="VBScript">
Class HelloWorld
  Sub Print
    document.write "Hello, World"
  End Sub
  Function toString
    toString = "見せられないよ☆"
  End Function
End Class
Set hello = New HelloWorld
</script>
<script language="JScript">
alert(hello instanceof Object); //=> false
alert(typeof HelloWorld); //=> "undefined"
alert(typeof hello); //=> "object"
alert(typeof hello.Print); //=> "unknwon"
alert(typeof hello.toString); //=> "unknwon"
alert(hello); //=> "[object]"
alert(hello.toString()); //=> "見せられないよ☆"
</script>

VBScriptは難しすぎ

282:281
10/05/14 18:55:11
間違えた
×unknwon → ○unknown

283:hidebou
10/05/14 21:37:14
>>281
私も同じような実験コードを何度か書きました。
Class HelloWorldが直接JScriptから参照できればもっと有機的な絡み方がで
きるんですが、あくまでもNewしたインスタンスしか見えないようでした。

JScriptにVBという名前空間を、逆にVBScriptにJSという名前空間を出現させ
異なる言語の標準関数を使えるようにしたら面白いかも?という構想を持って
います。



284:デフォルトの名無しさん
10/05/14 22:00:41
VBSは撲滅すべき

285:hidebou
10/05/14 22:08:33
>>284
私はVBS初心者なんですが、どうも一旦ばかばかしいミスのコードを実行する
と、その後正しいコードを書いてもエラーとなる気がしています。ひょっと
するとVBSはJSよりWindowsシステムに近いところで動くのかも知れません。
だとすればJSよりちょっと高速に動くという推理をしています。

286:hidebou
10/05/27 01:28:59
本番サーバーの最終調整とセットアップドキュメント作成をやっています。
ひとつの目標として、私が書いたものでないHTABOXコアプラットホームの
アプリケーションを販売できる体制作りを掲げています。そのためには認証
や登録を軽量でありながらも堅牢なものにしなければなりません。

287:hidebou
10/05/27 01:40:47
私のような年になると、未来への沸き立つ希望などは消えうせて、何かを次
の世代へ伝えられればという想いだけになります。これからこの世界を担う
方たちが希望をもって生きてゆける材料をひとつでも作っておければと、し
ょぼくれた目をこすりながらIISと格闘しております。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch