![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WinRAR запускается через раз [D7, WinXP]
VitAngel © (2007-02-14 17:44:00)Вечер Добрый!
Проблема такая: использую функцию ShellExecute для архивирования нескольких файлов, но она почему то запускает её через раз. Пожалуйста, подскажите в чём проблема...
Запускаю так:
ShellExecute(0,'open','WinRAR.exe',PChar('a -y -- Archive\Archive.rar @Archive\Archive.txt'),nil,SW_SHOW);
Углук (2007-06-13 19:56:00) [1]
> а как узнать что архивация закончена?
> мне надо заархивировать файлы, а потом их удалить. но если
> делаю попорядку команды, то накладка происходит. что делать?
>
> <Цитата>
1. В цикле архивируем файлы. Цикл заканчивается
2. Закрываем WinRar
3. Удаляем файлы.
Dimaxx (2007-06-13 16:44:00) [2]У меня помню траблы были в аналогичном примере. Программе никак не передавались параметры ком. строки. Поставил пробел в начале строки параметров и все заработало.
Валькирия (2007-06-13 15:19:00) [3]а как узнать что архивация закончена?
мне надо заархивировать файлы, а потом их удалить. но если делаю попорядку команды, то накладка происходит. что делать?
Сергей М. (2007-02-16 16:26:00) [4]
> VitAngel (16.02.07 16:01) [7]
> на какие-то доли секунды форма архивации запускается
Т.е. суслика ты таки видишь ?
Ну и какого хрена ты тогда утверждаешь, что "через раз" ?
Запускается же ? Запускается ведь !!
А дальше чеши репу про параметры запуска)
VitAngel (2007-02-16 16:01:00) [5]Дело в том, что на какие-то доли секунды форма архивации запускается и тут же исчезает...не понятно почему...
Сергей М. (2007-02-16 15:29:00) [6]
> запускает её через раз
"Ты суслика видишь ? И я не вижу. А он есть !" (анекд.)
ShellExecute - функция.
И только анализ возвращаемого ею результатадостоверно укажет, "запустился" ли твой WinRAR. А ты его неанализируешь, значит ты не вправе судить о его якобы "незапуске" лишь на основании того, что ты не видишь ни WinRAR-процесса в списке процессов, ни его окна на раб.столе.
VitAngel (2007-02-16 13:51:00) [7]Что ты имеешь в виду под "ждёт завершение процесса"???
Alex Konshin (2007-02-16 12:32:00) [8]Вообще-то странно для паковки файлов использовать его UI вариант.
И тем более странно использовать для этого ShellExecute. Товарищ ленится, а потом удивляется, почему не работает. Кстати, а товарищ ждет завершения процесса?
Германн (2007-02-15 02:43:00) [9]И ещё важен, имхо, в приведённом примере пятый параметр!
Германн (2007-02-15 01:45:00) [10]
> umbra © (14.02.07 18:54) [1]
>
...
> Если включить телепатор, то: нет ли в списке файлов, в именах
> которых (или в путях к которым) есть пробелы?
>
Сумлевается мой телепатор, однако, насчёт пробелов. Список файлов формируется как набор строк, а строку всегда можно однозначнопрочитать без зависимости от наличия в ней пробелов! Имхо.
Больше всего меня настораживает то, что третьим параметром функции ShellExecute идёт не полноеимя выполняемого файла. А у WinRar есть настройки - какую директорию считать текущей (current) при запуске.
umbra (2007-02-14 18:54:00) [11]в приведенном коде проблем нет :)
Если включить телепатор, то: нет ли в списке файлов, в именах которых (или в путях к которым) есть пробелы?