|
#1
|
|||
|
|||
ShellExecute
Доброго времени суток!
Код:
procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle, 'open', 'C:\Program Files\Softland\doPDF 7\dopdf.exe', nil, nil, SW_SHOWNORMAL); end; жму ctrl+F9 - ошибок нет, но project.exe не создается. Код:
procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle, 'open', 'C:\Program Files\Softland\doPDF 7\dopdf.exe', nil, nil, SW_SHOWNORMAL); WinExec('C:\Program Files\Softland\doPDF 7\dopdf.exe', SW_SHOWNORMAL); end; работает - ожидаемо 2 раза открывает. В чём косяк в первом коде? |
#2
|
||||
|
||||
Проверил несколько раз с блокнотом, всё собирается и работает. Возможно из вилки ShellExecuteA и ShellExecuteW выбирается не то, что нужно и в функцию заходит абракадабра вместо названия файла из-за разницы в кодировке или типе. Как вариант, использовать принудительное указание типа
Код:
ShellExecute(Handle, 'open', PChar('C:\Program Files\Softland\doPDF 7\dopdf.exe'), nil, nil, SW_SHOWNORMAL); Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
U.B.M. (15.03.2013)
|
#3
|
|||
|
|||
Цитата:
Да в том-то и дело, что выбирается как-бы то что нужно... Ведь во втором случае ShellExecute работает нормально без PChar. При этом PChar неожиданно помог в первом случае. |
#4
|
||||
|
||||
Код:
ShellExecute(Handle, PChar('open'), PChar('C:\Program Files\Softland\doPDF 7\dopdf.exe'), nil, nil, SW_SHOWNORMAL); — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
Цитата:
Код:
'C:\Program Files\Softland\doPDF 7\dopdf.exe'+#0 Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#6
|
|||
|
|||
Проверил следующее:
Код:
procedure TForm1.Button1Click(Sender: TObject); begin //do something ShellExecute(Handle, 'open', {PChar(}'C:\Program Files\Softland\doPDF 7\dopdf.exe'{)}, nil, nil, SW_SHOWNORMAL); end; Тоже работает. Видимо глюк непонятный был. ПолтерГейтс прям какой-то Последний раз редактировалось U.B.M., 15.03.2013 в 12:10. |
#7
|
||||
|
||||
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#8
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#9
|
||||
|
||||
Код:
stroka db 'Stroka s tekstom', 0 ... invoke ShellExecute [Handle], open_str, stroka, 0, 0, SW_SHOWNORMAL — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |