タイトル : Re: VB6.0のExeとVC++6.0のDLLの文字列 投稿日 : 2008/05/20(Tue) 15:34 投稿者 : 魔界の仮面弁士
> Public Declare Function test Lib "test.dll" (ByRef PINFO() As DLL) As Long [ByRef x() As ユーザー定義型] だと、SAFEARRAY の意味になってしまいます。 今回の場合は、[ByRef x As ユーザー定義型] にして PInfo(0) を渡すか、 あるいは、[ByVal x As Long] にして VarPtr(PInfo(0)) を渡してみてください。 > Public Type DLL > flg As String * 1 > End Type --- > PINFO(0).sflg = "X" ん? メンバ名が異なっているような。 > その入っている変数を確認すると必ず「1 "£"」と言う値が入ってしまっていて 最初の 1 は、SAFEARRAY 中の次元数を表す情報(unsigned short cDims)かな…。 |