Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
15-1196235035
студент
2007-11-28 10:30
2007.12.30
степени двоек


2-1196706403
BD
2007-12-03 21:26
2007.12.30
Поиск в базе данных (MS Access)


9-1163886978
Vga
2006-11-19 00:56
2007.12.30
Паки в играх


2-1196926527
Dennis I. Komarov
2007-12-06 10:35
2007.12.30
Apply Button


15-1196024180
FearG0
2007-11-25 23:56
2007.12.30
Portable Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский