![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Pабота с arj [D6, Win95/98, Win2k, WinXP]
stecoff © (2002-11-14 15:42:00)Добрый день! Подскажите, как работать со старым досовским arj из Delphi (распаковать в определенный каталог, запаковать обратно). Желательно не используя сторонние компоненты. Delphi 6. Использование именно arj требует специфика задачи. Cпасибо
Song (2002-11-28 17:29:00) [1]Вот почему может не работать: http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1038323024
Дельфин (2002-11-28 17:12:00) [2]в RxLib в юните RXShell есть ф-ция "FileExecuteWait"
Ocean (2002-11-28 16:50:00) [3]Как говорит Земфира, почему?
У меня работает. Правда, в Win98. Возможно, из-за малости архива, так что вопрос не праздный.
Song (2002-11-27 10:10:00) [4]2Ocean © (27.11.02 09:58)
С arj через WaitForSingleObject не получится.
Ocean (2002-11-27 09:58:00) [5]Совершенно согласен с hun, ведь обычно необходимо дождаться окончания работы архиватора, чтобы использовать результат. Для синхронизации еще можно
WaitForSingleObject(hProcess,INFINITE);
hProcess - первый пар-р CreateProcess.
Victor_Cr (2002-11-20 09:17:00) [6]Или банальный winexec
hun (2002-11-18 18:02:00) [7]что-то в таком духе
CreateProcess(nil,ExtractShortPathName("arj x -y a.arj"),nil,nil,false,CREATE_DEFAULT_ERROR_MODE, Nil, Nil, stin, stout);
if(stout.HProcess>0) then
repeat
j:=MsgWaitForMultipleObjects (1,stout.HProcess,false,100,QS_ALLEVENTS);
Application.ProcessMessages;
until j=WAIT_OBJECT_0
Александр Спелицин (2002-11-17 21:39:00) [8]А также CreateProcess()
Song (2002-11-14 16:01:00) [9]ShellExecute()