2

Delphi文字列をPrismDLLに渡すにはどうすればよいですか?、しかし、同様の方法を使用して、整数のDelphi配列(静的または動的)をPrismDLLに渡すことが可能かどうか疑問に思いました。

4

2 に答える 2

0

完全に機能する例を書く時間はありませんが、他の質問で言及した例を適応させるための重要な点は次のとおりです。

バッファ長で型を宣言します

type
  [MarshalAs(UnmanagedType.LPArray)]
  TBuffer = array[0..-length-]of integer;

バッファ内で操作を行うには、「固定」修飾子を使用することを忘れないでください

var BufferPointer: ^TBuffer; pinned;

...

  BufferPointer := @the_buffer[0];
于 2010-09-09T17:29:43.513 に答える
0

最も簡単な方法 (マーシャリングなし) は、BASE16 または BASE64 を使用して配列を Unicode 文字列にエンコードし、文字列を渡すことです。

于 2010-09-09T13:53:47.443 に答える