私は Delphi 2010 で DLL に取り組んでいます。バリアントの配列を受け取るプロシージャをエクスポートします。これらのバリアントのいずれかを取得して文字列に変換できるようにしたいのですが、????? を取得し続けます。
入力変数を変更できません - バリアントの配列でなければなりません。DLL を呼び出すホスト アプリは変更できません。Delphi 2006 で書かれています。
サンプル DLL コード:
Procedure TestArr(ArrUID : array of variant); stdcall;
var
i: integer;
s: string;
begin
s:= string(String(Arruid[0]));
showmessage(s);
end;
D2006 を使用すると、私の DLL は正常に動作します。私は使ってみVartoStr
ました - 運が悪いです。を確認するVarType
と、 が表示されvarString
ます。これを修正する方法はありますか?