| | kiSower 
 Newbie
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем привет!
 Мне необходимо распаковать arc архив с отображением процесса (на delphi). Как я понимаю консольная версия здесь не пойдет, нашел unarc.dll для IS, взял две dll-ки подключил вроде бы, но вот только прога виснет при вызове функции WrapCallback из innocallback.dll.
 Я не знаю, раньше не работал с dll практически, подскажите как осуществить задуманное.
 
 Сразу приведу код:
 
 Код:
 | type TFreeArcCallback = function (what: PAnsiChar; int1, int2: Integer; str: PAnsiChar): Integer;
 
 function FreeArcExtract (callback: longword; cmd1,cmd2,cmd3,cmd4,cmd5,cmd6,cmd7,cmd8,cmd9,cmd10: PAnsiChar):
 integer; cdecl; external 'unarc.dll';
 function wrapcallback (callback: TFreeArcCallback; paramcount: integer):longword;stdcall; external 'innocallback.dll';
 
 var
 Form1: TForm1;
 callback: cardinal;
 
 
 implementation
 
 {$R *.dfm}
 function FreeArcCallback (what: PAnsiChar; Mb, sizeArc: Integer; str: PAnsiChar): Integer;
 begin
 // Form1.Memo1.Lines.Add(string(what));
 //showmessage('');
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 //showmessage('');
 callback:= WrapCallback(@FreeArcCallback, 4);
 showmessage('');
 FreeArcExtract(callback, 'x', '-o+', '-dpc:\test', '--', 'e:\test.arc', '', '', '', '', '');
 end;
 
 end.
 | 
 
 Заранее спасибо
  |  | Всего записей: 2 | Зарегистр. 20-11-2010 | Отправлено:  15:52 20-11-2010  | Исправлено: kiSower,   05:40 21-11-2010
 | 
 |