C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

C++のDLLからVBで値を受け取るには?


(過去ログ 7 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■7104 / inTopicNo.1)  C++のDLLからVBで値を受け取るには?
  
□投稿者/ シープラ 二等兵(1回)-(2006/10/03(Tue) 14:33:16)

分類:[VC++(C++/CLI)] 


分類:[VC++(C++/CLI)] 


動作環境
Visual C++ (Visual Studio 2005)
VB6.0 SP5
WinXp

C++でCOMを作成しました。
それをVBから呼び出し文字列もしくは数値を受け取りたいのですが
どうしても文字列が空で参照できません。

C++側
-------------------------------------------------------------------------------------------------
宣言部分
[id(5), helpstring("メソッド get_test")] HRESULT get_test([in] BSTR str, [out] BSTR* strout);

処理部分
STDMETHODIMP Caaa::get_test(BSTR str, BSTR* strout)
{
CComBSTR testBstr("あいうえお");
BSTR bstr = testBstr; // bstrにはあいうえおが格納されている

CAtlString aaa;

aaa = (WCHAR*)str;

MessageBox(NULL,spBstr,aaa,0); // あいうえおが表示される
MessageBox(NULL,bstr,aaa,0); // あいうえおが表示される

strout = &bstr; // out引数に"あいうえお"のアドレス格納
// これがVB側で参照できればいい。

return S_OK;
}

vb側
-------------------------------------------------------------------------------------------------

Private Sub Command3_Click()
On Error GoTo Err_Command3_Click
Dim fff As aaa

Dim str1 As String
Dim str2 As String

str1 = "わたった" ' この文字がC++に渡っているのは確認済

Set fff = CreateObject("ttt.aaa.1")
fff.get_test str1, str2 'C++メソッド実行

MsgBox (str2) ' str2が空になっており参照できない


Set fff = Nothing
Exit Sub

End Sub


この方法でVB側に"あいうえお"の文字が渡ってこないのはなぜでしょうか?
色々と試しているのですが、str2は参照渡しで渡ってこないのでしょうか?
それとも根本的に何か間違っているのか、よくわからない状態になってしまいました。

助言いただけたら幸いです。
宜しくお願いします。


0
引用返信 編集キー/
■7105 / inTopicNo.2)  Re[1]: C++のDLLからVBで値を受け取るには?
□投稿者/ Blue 曹長(96回)-(2006/10/03(Tue) 14:40:33)

分類:[VC++(C++/CLI)] 

ぉぃぉぃ。。。
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200610/06100003.txt
で回答しました。

マルチポストはマナーに反する行為なので控えてください。

0
引用返信 編集キー/
■7107 / inTopicNo.3)  Re[2]: C++のDLLからVBで値を受け取るには?
□投稿者/ シープラ 二等兵(3回)-(2006/10/03(Tue) 14:50:49)

分類:[VC++(C++/CLI)] 

No7105に返信(Blueさんの記事)
> ぉぃぉぃ。。。
> http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200610/06100003.txt
> で回答しました。
>
> マルチポストはマナーに反する行為なので控えてください。

すみません。。。初めてだったもので気をつけます。

0
引用返信 編集キー/
■7119 / inTopicNo.4)  Re[3]: C++のDLLからVBで値を受け取るには?
□投稿者/ シープラ 二等兵(4回)-(2006/10/03(Tue) 16:13:56)

分類:[VC++(C++/CLI)] 

解決しました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -