2

我已阅读并成功尝试了如何将 Delphi 字符串传递给 Prism DLL?,但想知道是否可以使用类似的方法将 Delphi 整数数组(静态或动态)传递给 Prism DLL。

4

2 回答 2

0

The simpliest (without marshalling) is to encode the array using BASE16 or BASE64 into a unicode string and pass a string.

于 2010-09-09T13:53:47.443 回答
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 回答