Вверх ↑
Ответов: 2059
Рейтинг: 131
#1: 2020-05-23 15:48:50 ЛС | профиль | цитата
Комментарий по ссылке:
Разве это можно скомпилировать?
Вот тут, в unit hiZipperEx;
procedure THIZipperEx._work_doCompress;
begin
if strZIP = '' then Exit;
old_bs := 0; new_bs := 0;;
fBytes := zGetOrderedBytes();
fFiles := zGetOrderedFiles();
1. Используются zGetOrderedBytes() и zGetOrderedFiles() но в Lib.pas они не объявлены!
Надо так в Lib.pas:
....
zCreateNewZip: function(zipfilename: PChar): ZIPResult; stdcall;
zOpenZipFile: function(zipfilename: PChar): ZIPResult; stdcall;
zCloseZipFile: function(): ZIPResult; stdcall;
zGetOrderedBytes: function (): integer; stdcall;
zGetOrderedFiles: function (): integer; stdcall;
...
zOrderByWildcards := LibDLL.FindExport('zOrderByWildcards');
zCompressFiles := LibDLL.FindExport('zCompressFiles');
zGetOrderedBytes := LibDLL.FindExport('zGetOrderedBytes'); //
zGetOrderedFiles := LibDLL.FindExport('zGetOrderedFiles'); //
finalization
...
2. Эти функции имеют аргументы!
fFiles := zGetOrderedFiles(intCount);
Возвращает количество файлов, запрошенных для сжатия с помощью функций zOrderFile / zOrderByWildcards.
fBytes := zGetOrderedBytes(intCount);
Возвращает общий размер файлов, запрошенных для сжатия с помощью функций zOrderFile / zOrderByWildcards.
И так со всеми не объявленными функциями!
Чтобы эта недоделка заработала нужно закомментировать следующие строки:
...
256 // fBytes := zGetOrderedBytes();
257 // fFiles := zGetOrderedFiles();
...
286 // ShowMessage(zGetLastErrorAsText());
...
407 // fBytes := zGetTotalBytes();
...
436 // fBytes := zGetSelectedBytes();
437 // fFiles := zGetSelectedFiles(fFiles);
...
549 // intTmp := zGetTotalBytes();
...
557 // str := BytesToStr(zGetTotalBytes());
...
566 // intTmp := Trunc((zGetTotalBytes() / 100));
Чтобы доделать по уму, нужно иметь описание этих функций.
карма: 6

1
Голосовали:andrestudio
Редактировалось 4 раз(а), последний 2020-05-23 16:04:36