Булев параметр в dll-функции в delphi 7 - PullRequest
3 голосов
/ 05 мая 2011

У меня есть библиотека DLL. Я исключил блок памяти для типов Delphi.

Таким образом, что будет подходящим типом Boolean для объявления функции?

Это BOOL или что-то еще?

Проблема в том, что в сигнатуре метода:

function Test(Param1: BOOL; Param2: BOOL; docContent: PCharArray): Integer;

Я получаю AV, когда программа покидает эту функцию.

Я предполагаю, что это проблема с типом данных этих двух первых параметров.

1 Ответ

6 голосов
/ 05 мая 2011

BOOL хорошо для булевых типов.Это тип Windows, так что это то, что вы увидите во всех функциях в Windows.pas .

Нарушения доступа при возврате из функции DLL часто указывают на неправильное соглашение о вызовах- соглашение о вызовах по умолчанию - register, но вам, вероятно, нужно stdcall или cdecl.Добавьте его в конце декларации:

function Test(Param1: BOOL; Param2: BOOL; docContent: PCharArray): Integer; stdcall;
...