Я пытаюсь реализовать указатель записи в Inno Setup (Unicode), чтобы соответствовать спецификациям Delphi DLL в ...Невозможно определить запись указатель
type
PUnzipFile = ^TUnzipFile;
TUnzipFile = record
Caption: WideString;
Src: WideString;
Dest: WideString;
Status: Integer;
Size: Integer;
ErrCode: Integer;
ErrMsg: WideString;
end;
TUnzipFiles = array of PUnzipFile;
function UnzipFiles(var Files: TUnzipFiles; const Silent: Bool): Bool;
external '[email protected]:Unzipper.dll stdcall';
Проблема заключается в том, что компилятор не будет работать на линии PUnzipFile = ^TUnzipFile;
потому что, по-видимому, Inno Setup не поддерживает указатели, как делает Delphi. Эта запись указатель отлично работает при реализации в Delphi ...
function UnzipFiles(var Files: TUnzipFiles; const Silent: Bool): Bool; stdcall;
external 'Unzipper.dll';
Как я могу работать с этой DLL, если программа установки Inno не поддерживает запись указателей?
Для записи я изменил весь подход к проекту, так как я контролирую указанную DLL. Теперь Inno Setup вызывает процедуру 'UnzipperAddFile' с необходимыми параметрами, а затем' UnzipperGo', чтобы инициировать фактический процесс, а также обрабатывать 'UnzipperInit' и' UnzipperUnInit'. –
Я все еще хотел бы знать, как я мог бы это сделать, используя эти указатели записи. –
Вы пытались переместить объявление указателя после объявления записи? –