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