Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Shellexecute


anton773 ©   (2006-08-22 22:40:00) 

Здравствуйте! Shellexecute возвращает код ошибки 2 Что это значит?


Ketmar   (2006-08-23 11:02:00) [1]

> [12] anton773 ©   (23.08.06 07:29)
а ты исследуй внимательно строки-аргументы. посмотри, в чём разница. а то у меня телепатор ещё спит. %-)


anton773   (2006-08-23 07:29:00) [2]


> ошибка №2 возникает, если ShellExecute() не смогла найти
> то, что ей приказали запустить
Ketmar Опять оказался прав:искали действительно Запускаемый файл.Просто меня ввело в заблуждение описанное в [5].Интересно,почему так происходило?


Пусик   (2006-08-23 03:30:00) [3]


> anton773 ©   (22.08.06 22:40) 

Полный путь указывай для выполняемого файла, тогда он не потеряется.


Дмитрий Белькевич   (2006-08-23 02:40:00) [4]

Если совсем никак, можно попробовать filemon. Он точно покажет, какое файло ищут.


Дмитрий Белькевич   (2006-08-23 02:39:00) [5]

Винда, конечно, бывает, глюпые ошибки пишет. Но, если она говорит, что файла нет, то, думаю сам Билл руку на отсечение отдаст, что его нет ;) Так что ищи, куда дел файл.


Ketmar   (2006-08-23 00:04:00) [6]

ну так я ещё раз намекну: ShellExecute() не возвращает exitcode запущенного процесса. ошибка №2 возникает, если ShellExecute() не смогла найти то, что ей приказали запустить.

кстати: аргументы лучше передавать в той же строке, где указывается запускаемый файл.


anton773   (2006-08-22 23:58:00) [7]


> не, ну раз ты всё знаешь, зачем спрашиваешь тогда, да?

Кто сказал ;-)


Ketmar   (2006-08-22 23:50:00) [8]

> [5] anton773 ©   (22.08.06 23:45)
не, ну раз ты всё знаешь, зачем спрашиваешь тогда, да?


anton773   (2006-08-22 23:45:00) [9]


> плохо проверял. нет файла andownload.exe. о чём тебе ненавязчиво
> намекают.

Намекают не про andownload.exe,а про имя файла указанной в переменной filedowload.Интересное замечание: если Переменной filedowload Присвоить значение одного из полей Парадоксовской таблицы базы данных(строкового типа)то все работает,а вот если свойство  Filename Filelistbox,то кричит что нет файла. Шото я юмора не понял :-)


Ketmar   (2006-08-22 23:35:00) [10]

> [3] anton773 ©   (22.08.06 23:23)
плохо проверял. нет файла andownload.exe. о чём тебе ненавязчиво намекают.

а с пробелами -- это документированное поведение.


anton773   (2006-08-22 23:23:00) [11]


> нет такого файла

Куда дели ? ;-) Файл существует. И имя формируется правильно(проверял) PS если имя файла не заключать в кавычки то оно почему то неправильно передается (обрезается на первом пробеле)


Ketmar   (2006-08-22 23:10:00) [12]

"нет такого файла" это значит. допиши RaiseLastOSError() -- сам убедишься. %-)


anton773   (2006-08-22 22:49:00) [13]

вот код ShellExecute(Handle,'open','anDowload.exe',PAnsiChar('"'+filedowload+'"'),  nil, SW_NORMAL);


Наверх

Титульная страница Поиск, карта сайта Написать письмо