Мне нужно получить доступ к нескольким функциям DLL, написанной на c из Delphi (в настоящее время Delphi7).
Я могу сделать это без проблем, когда параметры скалярные
(благодаря примерам, найденным на этом замечательном сайте!), но я застрял на некоторое время, когда в параметрах есть указатель на массив Longs.
Это определение в заголовочном файле одной из функций:
BOOL __stdcall BdcValida (HANDLE h, LPLONG opcl);
(opcl - массив длинных)
И это часть моего кода Delphi:
type
TListaOpciones= array of LongInt; //I tried with static array too!
Popcion = ^LongInt; //tried with integer, Cardinal, word...
var
dllFunction: function(h:tHandle; opciones:Popcion):boolean;stdcall;
arrayOPciones:TListaOpciones;
resultado:boolean;
begin
.....
I give values to aHandle and array arrayOPciones
.....
resultado:=dllFunction(aHandle, @arrayopciones[0]);
end;
Сообщение об ошибке при его выполнении:
"Project xxx выдал слишком много последовательных исключений: нарушение доступа
в 0x000 .. "
Что такое эквивалент в Delhpi для LPLONG? Или я вызываю функцию неправильно?
Спасибо!