タイトル : Re^5: VB6.0のExeとVC++6.0のDLLの文字列 投稿日 : 2008/05/21(Wed) 14:42 投稿者 : VB
上記の件は自己解決致しました。 ありがとうございました。。 お騒がせ致しました。。 そして、新たな問題が!(^^; ----------VB---------------------------------------------------------------- ☆標準モジュール Public Type DLL flg1 As String flg2 As String End Type Public Declare Function test Lib "test.dll" (PINFO As DLL) As Long ☆フォーム Dim PINFO(0) As DLL Dim rtn As Long PINFO(0).flg1 = "X" PINFO(0).flg2 = "Y" rtn = test(PINFO(0)) Text1.Text = rtn -------------------------------------------------------------------------------- ----------------VC++------------------------------------------------------------ typedef struct DLL{ char *flg1; char *flg2; }; _declspec(dllexport) int WINAPI test(const DLL* PINFO) { if ((*(PINFO->flg1) != 'X') && (*(PINFO->flg1) != 'Y')) { return 1; } if ((*(PINFO->flg2) != 'X') && (*(PINFO->flg2) != 'Y')) { return 2; } return 0; } 上記のようにすることによって PINFO->flg1 = "X" PINFO->flg2 = "Y" と入るようになったのですが。 そもそもこの構造体で行いたかったことが VBで Dim PINFO(1) As DLL Dim rtn As Long PINFO(0).flg1 = "X" PINFO(0).flg2 = "Y" PINFO(1).flg1 = "X" PINFO(1).flg2 = "Y" ↑このような複数のテーブルを渡したいのですが、 上記のように定義したときまた値の取得仕方がいけないのか 構造体に変な値が入ってきてしまいます。 例となるプログラムがありましたら宜しくお願いいたします。 |