Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

В чем ошибка?   Найти похожие ветки 

 
DSKalugin ©   (2004-06-18 12:20) [0]

По нажатию на эту кнопку должна закрыться БД, сархивироваться РАРом и открыться. Архиватор запускается, но выдает ошибку "Нет файлов для добавления". Хотя в командной строке виндовс все работает. В чем ошибка?

procedure TfmECatalog.bt_ArcECatClick(Sender: TObject);
var RARName, cmdLine, exe: AnsiString;
 D: TDate;
 Year, Month, Day: Word;
 cc:Boolean;
 StartupInfo: TStartupInfo;
 ProcessInfo: TProcessInformation;
 SecAtrrs: TSecurityAttributes;
begin
 D:=Date;
 DecodeDate(D, Year, Month, Day);
 RARName:="ec_"+IntToStr(Day)+IntToStr(Month)+IntToStr(Year)+".rar";
 FormCloseQuery(nil, cc);
 try
   Screen.Cursor:=crSQLWait;
   Application.ProcessMessages;
   cmdLine:=" A -ep "+IN_DIR+RARName+" "+dbDir+"\*.*";
   exe:="C:\Program Files\WinRAR\WinRAR.exe";
   FillChar(StartupInfo, SizeOf(StartupInfo), #0);
   StartupInfo.cb := SizeOf(StartupInfo);
   StartupInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
   StartupInfo.wShowWindow := SW_SHOW;
//   if not
   CreateProcess(PChar(exe),
     PChar(cmdline),
     nil,
     nil,
     False,
     NORMAL_PRIORITY_CLASS or CREATE_NEW_PROCESS_GROUP, // флаги создания
     nil,
     PChar(dbDir), // текущая директория
     StartupInfo,
     ProcessInfo);
   //then raise ERangeError.CreateFmt("Start WinRAR failed");
   WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
   CloseHandle(ProcessInfo.hProcess);
   CloseHandle(ProcessInfo.hThread);
 finally
   Screen.Cursor:=crDefault;
   FormCreate(nil);
 end;
end;


 
savva ©   (2004-06-18 12:50) [1]

я бы все длинные имена (в путях к фалам и директориям) заключил бы в "


 
DSKalugin ©   (2004-06-18 13:13) [2]

Дык рар запускается, а в параметрах пути без пробелов

C:\Program Files\WinRAR\WinRAR.exe A -ep F:\projects\ecat\ec_IN\ec_1862004.rar F:\projects\ecat\ECDB\*.*


 
DSKalugin ©   (2004-06-18 13:34) [3]

2 savva ©
СПАСИБО!!!
В кавычки оказуется надо было брать патаметры, причем каждый!

Итак правильный ответ:
winrar "A" "-ep1" "F:\projects\ecat\ec_IN\ec_1862004.rar" "F:\projects\ecat\ECDB\*.*"


 
VMcL ©   (2004-06-18 13:35) [4]

>>DSKalugin ©  (18.06.04 13:13) [2]

-r

?



Страницы: 1 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1088599378
Provodnick
2004-06-30 16:42
2004.07.11
PasteExcelTable не работает в Word


1-1088554460
Alexey Leonchik
2004-06-30 04:14
2004.07.11
Список открытых окон в меню (MDI)


1-1088368968
juiceman
2004-06-28 00:42
2004.07.11
Delphi Script


3-1086877190
С.М.
2004-06-10 18:19
2004.07.11
Как сделать термометр для отображения процесса чтения blob поля?


1-1088363209
Кастуся
2004-06-27 23:06
2004.07.11
SwapMemory