- - PR -
Javascriptから、ActiveXコントロールが保持する文字列を取得する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-10-02 18:19
gt-f と申します。
Javascript から ActiveXコントロールが持つ文字列(エラーメッセージ)を、 取得し、HTMLのテキストエリアに表示しようとしております。 (ActiveXコントロールは、VC++2005 のMFCにて作成) まずは、エラーメッセージを "abc" に固定して、テキストエリアに表示 させようとしているのですが、-24 と表示されます。 どこが間違えておりますでしょうか。 Javascript と C言語の間で、「文字列」のやり取りを行うことはできない のでしょうか。 (CHAR型('A' 等)の取得ができるところまでは、動作確認しております) ネットで情報を探しても解決に至らず、質問させて頂きました。 ご教示の程、よろしくお願いいたします。 ------- HTML & Javascript ------- <html> <head><title>ActiveX Sample</title></head> <body> <textarea id="msg1" name = "msg" cols=40 rows=5> </textarea> <br><hr><br> <input type="button" name="BtnInit" value="Init" OnClick="Init()"> <br><hr><br> <object id="act1" width="0" height="0" CLASSID="clsid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" CODEBASE="xxxxxxxxxxxxxxxxxx"> </object> <script> <!-- var ret ; // ActiveXコントロールの関数の戻り値 // msg をテキストエリアに出力する function writeMsg(msg) { var txtarea = document.getElementById("msg1") ; txtarea.value = msg ; } function Init() { // ActiveXコントロールの関数呼び出し ret = act1.m_initFrameWork() ; // エラーの時 if (ret == 0) { var errMsg = act1.m_getErrorMessage() ; // テキストエリアに、ActiveXコントロールが保持するエラーメッセージを表示 writeMsg(errMsg) ; } else { // テキストエリアに出力 writeMsg("successfully finished!") ; } } --> </script> </body> </html> ------- ActiveXコントロールのメソッド (VC++2005 MFC にて作成) ------- CHAR * TestCtrl::m_getErrorMessage(void) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO: ここにディスパッチ ハンドラ コードを追加してください。 return "abc" ; } |
|
投稿日時: 2008-10-07 11:09
gt-fです。自己レスです。
とてもおはずかしい質問をしていたことに気付きました。。 規定のプロパティ:Textを使えば、簡単に文字列を取得できました。 ◆クラスビューで該当クラスの上から2つめを右クリック => 追加 => プロパティの追加 ◆"プロパティ名" セレクトボックス一覧に、デフォルトで "Text" プロパティがあるので、それを元にプロパティ作成 難しく考え過ぎておりましたが、答えはこんなところにありました。 失礼いたしましたm(_ _)m |
1