Как передать массив целых чисел Delphi в библиотеку Prism DLL? - PullRequest
2 голосов
/ 09 сентября 2010

Я прочитал и успешно попытался ответить на Как передать строку Delphi в библиотеку Prism DLL? , но подумал, можно ли использовать аналогичный метод для передачи массива Delphi целых чисел (статический или динамический) в Prism DLL.

Ответы [ 2 ]

0 голосов
/ 09 сентября 2010

У меня нет времени, чтобы написать полный рабочий пример, но вот ключевые моменты для адаптации примера, который вы упоминаете в другом вопросе:

объявить тип с длиной буфера

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

и для выполнения операций в буфере не забудьте использовать модификатор pinned

var BufferPointer: ^TBuffer; pinned;

...

  BufferPointer := @the_buffer[0];
0 голосов
/ 09 сентября 2010

Самое простое (без маршалинга) - закодировать массив с помощью BASE16 или BASE64 в строку Unicode и передать строку.

...