Вниз
Скачать: CL | DM;

ShellExecute   Найти похожие ветки 

← →
anton773   (2010-09-27 18:24) [0]

Почему этот код работает не устойчиво(сегодня может работать, завтра нет или наоборот) Ладно бы вообще не работал  ShellExecute(Handle,"open","Anton.exe",nil,  nil, SW_NORMAL);


← →
Медвежонок Пятачок ©   (2010-09-27 18:26) [1]

погода меняется. фазы луны опять же разные.....


← →
@!!ex ©   (2010-09-27 18:27) [2]

Рабочий каталог не установлен?


← →
Медвежонок Пятачок ©   (2010-09-27 18:29) [3]

0 The operating system is out of memory or resources.
ERROR_FILE_NOT_FOUND The specified file was not found.
ERROR_PATH_NOT_FOUND The specified path was not found.
ERROR_BAD_FORMAT The .exe file is invalid (non-Microsoft Win32 .exe or error in .exe image).
SE_ERR_ACCESSDENIED The operating system denied access to the specified file.
SE_ERR_ASSOCINCOMPLETE The file name association is incomplete or invalid.
SE_ERR_DDEBUSY The Dynamic Data Exchange (DDE) transaction could not be completed because other DDE transactions were being processed.
SE_ERR_DDEFAIL The DDE transaction failed.
SE_ERR_DDETIMEOUT The DDE transaction could not be completed because the request timed out.
SE_ERR_DLLNOTFOUND The specified DLL was not found.
SE_ERR_FNF The specified file was not found.
SE_ERR_NOASSOC There is no application associated with the given file name extension. This error will also be returned if you attempt to print a file that is not printable.
SE_ERR_OOM There was not enough memory to complete the operation.
SE_ERR_PNF The specified path was not found.
SE_ERR_SHARE A sharing violation occurred.


← →
anton773   (2010-09-27 18:30) [4]


> Рабочий каталог не установлен?

Нет


← →
Медвежонок Пятачок ©   (2010-09-27 18:32) [5]

Почему этот код работает не устойчиво

Потому что ты антон, которому пофик на ретурн валуе функции shwllexecute.


← →
Медвежонок Пятачок ©   (2010-09-27 18:41) [6]

Рабочий каталог не установлен?

Это никак не помешает созданию процесса.
У пациента там скорее всего опендиалог без NoChangeDir что в совокупности с простым "Anton.exe" дает банальнейший
ERROR_FILE_NOT_FOUND


← →
anton773   (2010-09-27 18:44) [7]


> Почему этот код работает не устойчиво
>
> Потому что ты антон, которому пофик на ретурн валуе функции
> shwllexecute.

А зачем тогда в настройках делфей нужна галочка "работать с функциями как с процедурами " Тоесть если я правильно понял этот пункт, то вызывать функции можно как процедуры, тоесть без ретурн валуе. Или я что-то напутал...


← →
Медвежонок Пятачок ©   (2010-09-27 18:46) [8]

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


← →
anton773   (2010-09-27 18:49) [9]


> Почему этот код работает не устойчиво
>
> Потому что ты антон, которому пофик на ретурн валуе функции
> shwllexecute.

А зачем тогда в настройках делфей нужна галочка "работать с функциями как с процедурами " Тоесть если я правильно понял этот пункт, то вызывать функции можно как процедуры, тоесть без ретурн валуе. Или я что-то напутал...


← →
antonn ©   (2010-09-27 18:53) [10]

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


← →
anton773   (2010-09-27 18:55) [11]


> У пациента там скорее всего опендиалог без NoChangeDir что
> в совокупности с простым "Anton.exe" дает банальнейший
> ERROR_FILE_NOT_FOUND

У меня всего навсего в одной папке лежат два экзешника, нажатие на батон в одной проге должно приводить к запуску другого экзешника....


← →
Ega23 ©   (2010-09-27 18:58) [12]


> У меня всего навсего в одной папке лежат два экзешника,
> нажатие на батон в одной проге должно приводить к запуску
> другого экзешника....


А так?

ShellExecute(Handle,"open",ExtractFilePath(ParamStr(0)) + "Anton.exe",nil,  nil, SW_NORMAL);


← →
Anatoly Podgoretsky ©   (2010-09-27 19:29) [13]


> А зачем тогда в настройках делфей нужна галочка "работать
> с функциями как с процедурами

Это они поторопились, они же не знали, что бывают неграмотные программисты.


← →
Anatoly Podgoretsky ©   (2010-09-27 19:30) [14]


> У меня всего навсего в одной папке лежат два экзешника

В какой еще папке, никакие папки в команде не фигурируют.


← →
anton773   (2010-09-27 19:56) [15]


> А так?
>
> ShellExecute(Handle,"open",ExtractFilePath(ParamStr(0))
> + "Anton.exe",nil,  nil, SW_NORMAL)А так?;

тогда        

ShellExecute(Handle,"open",ExtractFilePath(ParamStr(0)) + "Anton.exe",nil,  nil, SW_NORMAL);


← →
Медвежонок Пятачок ©   (2010-09-27 20:25) [16]

У меня всего навсего в одной папке лежат два экзешника, нажатие на батон в одной проге должно приводить к запуску другого экзешника....


ну как и предполагалось, все дело в ERROR_FILE_NOT_FOUND


← →
Ega23 ©   (2010-09-27 20:26) [17]


> anton773   (27.09.10 19:56) [15]
>
> тогда        


Не понял, что "тогда"?


← →
anton773   (2010-09-27 20:43) [18]


> Не понял, что "тогда"?

тогда ошибка про несовмеситмость типов : стринг и анси чар


← →
Медвежонок Пятачок ©   (2010-09-27 20:47) [19]

а ты что, не согласен с этим?


← →
anton773   (2010-09-27 20:50) [20]

Я не могу понять одного: если код правильный, то он должен работать всегда, если код НЕ ПРАВИЛЬНЫЙ - он не должен работать НИКОГДА. Вопрос: правильный ли код, который то РАБОТАЕТ, то НЕ РАБОТАЕТ???


← →
Медвежонок Пятачок ©   (2010-09-27 20:50) [21]

он всегда и работает.
тебе просто кажется, что он не работает


← →
Медвежонок Пятачок ©   (2010-09-27 20:51) [22]

.... причем работает правильно


← →
Anatoly Podgoretsky ©   (2010-09-27 20:52) [23]


> anton773   (27.09.10 20:50) [20]

Ответ: что то неправильно.


← →
Медвежонок Пятачок ©   (2010-09-27 20:56) [24]

Вопрос: правильный ли код, который то РАБОТАЕТ, то НЕ РАБОТАЕТ???


Любой код работает. Вообще любой. Абсолютно. Если это код.
Если код не работает, значит это не код.


← →
anton773   (2010-09-27 20:58) [25]


> Ответ: что то неправильно.

и ЧТО ИМЕННО... (если не секрет)


← →
Anatoly Podgoretsky ©   (2010-09-27 21:00) [26]

> anton773  (27.09.2010 20:58:25)  [25]

Да выбор то простой, или программа, или программист


← →
Ega23 ©   (2010-09-27 21:00) [27]


> Я не могу понять одного: если код правильный, то он должен
> работать всегда, если код НЕ ПРАВИЛЬНЫЙ - он не должен работать
> НИКОГДА. Вопрос: правильный ли код, который то РАБОТАЕТ,
>  то НЕ РАБОТАЕТ???


Тебе сказали уже, что CurrentDir меняется. Надо полный путь к файлу указывать.


> тогда ошибка про несовмеситмость типов : стринг и анси чар


Ну и приведи к PAnsiChar, какие проблемы-то? Я прямо тут писал, навскидку не помню.


← →
Медвежонок Пятачок ©   (2010-09-27 21:03) [28]

и ЧТО ИМЕННО... (если не секрет)

Это Большой-Пребольшой Секрет.
Так как ретурн валуе антоша держит от нас в секрете


← →
anton773   (2010-09-27 21:11) [29]


> Тебе сказали уже, что CurrentDir меняется. Надо полный путь
> к файлу указывать.

Завтра попробую. Хотя не понятно почему этот код работает с ПЕРЕМЕННЫМ УСПЕХОМ. Ему что, вчера не требовался полный путь, а, сегодня он, понимаешь заблудился...


← →
Ega23 ©   (2010-09-27 21:12) [30]


> Хотя не понятно почему этот код работает с ПЕРЕМЕННЫМ УСПЕХОМ.
>  Ему что, вчера не требовался полный путь, а, сегодня он,
>  понимаешь заблудился...


Потому, что CurrentDir - не постоянная, а переменная. И она меняется в процессе работы. Как и отчего - читай документацию.


← →
anton773   (2010-09-27 21:15) [31]

P.S Вопрос про разный результат, при одних и тех же условиях.


← →
Ega23 ©   (2010-09-27 21:18) [32]


> P.S Вопрос про разный результат, при одних и тех же условиях.

(считаю про себя) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Ты уже прочитал, что такое CurrentDir?


← →
anton773   (2010-09-27 21:18) [33]


> Потому, что CurrentDir - не постоянная, а переменная. И
> она меняется в процессе работы. Как и отчего - читай документацию.
>

Ну наконец то нормальный ответ. СПАСИБО...


← →
Anatoly Podgoretsky ©   (2010-09-27 21:20) [34]

> anton773  (27.09.2010 21:11:29)  [29]

Ну настойчивый, ему все рассписали, а он все не веритю


← →
И. Павел ©   (2010-09-27 21:21) [35]

Все ответы Антона, кроме [18] здорово похожи на ответы бота. Он мусолит одну и ту же фразу и почти не слушает, что ему говорят.
ИМХО или бот, или развод.


← →
Внук ©   (2010-09-27 21:24) [36]

По-моему даже бот в состоянии понять, что возвращаемое значение функции скажет ему причину ошибки... Но мы простых путей не ищем.


← →
Alkid ©   (2010-09-27 21:25) [37]


> anton773   (27.09.10 20:50) [20]
> Я не могу понять одного: если код правильный, то он должен
> работать всегда, если код НЕ ПРАВИЛЬНЫЙ - он не должен работать
> НИКОГДА. Вопрос: правильный ли код, который то РАБОТАЕТ,
>  то НЕ РАБОТАЕТ???

Это неверная предпосылка.


← →
anton773   (2010-09-27 21:26) [38]

вАпрос закрыт, всем спасибо. ЕСЛИ кого разозлил, не серчайте. Я любитель, а не ПРОФИ.


← →
Сергей М. ©   (2010-09-27 21:59) [39]


> зачем тогда в настройках делфей нужна галочка "работать
> с функциями как с процедурами "


Да мало ли там еще всякоразных галочек)..
Ты смотри другие галочки не тыкай - они для профи, а не для любителей.. А то не ровен час сломаешь Делфи)



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

Скачать: CL | DM;



Память: 0.54 MB
Время: 0.009 c
3-1251053802
Maks Zyuzin
2009-08-23 22:56
2011.01.09
IBDataSet и сбрасывание значений параметров


11-1227534671
Валера
2008-11-24 16:51
2011.01.09
Не могу найти подходящий компонент


2-1286992785
Fantomas_RUS
2010-10-13 21:59
2011.01.09
Dll важный вопрос


15-1285184688
NailMan
2010-09-22 23:44
2011.01.09
А вот собрался показать себя таки на "модельном МАКСе"


2-1287398656
mfender
2010-10-18 14:44
2011.01.09
RTTI. Как обратиться к потомку, заведомо не зная его класс?




   Наверх