Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.03;
Скачать: CL | DM;

Вниз

Запуск внешнего приложения   Найти похожие ветки 

 
[Salo]Phantom   (2007-05-16 12:31) [0]

Помогите разобраться почему такой код выполняется не до конца (не запускается приложение)

procedure TfmMain.RunApp(AppPath: string);
var PMSI: TStartupInfo;
   PMPI: TProcessInformation;
begin
CreateProcess(nil, @AppPath[1], nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, PMSI, PMPI);
end;

procedure TfmMain.FormActivate(Sender: TObject);
begin
copyFile(PChar(UpdatePath), PChar(LocPath), True);
RunApp(LocPath); //-в этом месте отказался работать
Application.Terminate;
end;
Если же исползовать WinExec, то все работает, но его Delphi не рекомнедует:( Если же убрать впередиидущую операцию копирования и файл уже находится в нужном месте запуск происходит нормально!


 
Сергей М. ©   (2007-05-16 12:40) [1]


> почему


> не запускается приложение


Потому что в ходе работы функции CreateProcess возникла ошибка.


 
Джо ©   (2007-05-16 12:40) [2]

Структура TStartupInfo требует инициализации. Читать Справку по CreateProcess.


 
[Salo]Phantom   (2007-05-16 12:59) [3]

Действительно исправил RunApp, добавив в начале FillChar(PMSI, SizeOf(TStartUpInfo), 0); и все заработало. Спасибо за помощь. Дескрипторы тоже буду очищать, "мусор не стоит выносить из избы" :)


 
Джо ©   (2007-05-16 13:02) [4]

> [3] [Salo]Phantom   (16.05.07 12:59)
> Действительно исправил RunApp, добавив в начале FillChar(PMSI,
> SizeOf(TStartUpInfo), 0)

Кроме того, нужно инициализировать поле PMSI.cb


 
Джо ©   (2007-05-16 13:02) [5]

И проверять возвращаемое функцией значение.



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

Текущий архив: 2007.06.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.188 c
3-1173862302
DSKalugin
2007-03-14 11:51
2007.06.03
как в Delphi использовать VBA-функцию Access?


2-1179209569
fvn
2007-05-15 10:12
2007.06.03
TMS TAdvStringGrid


2-1178996245
likenoother
2007-05-12 22:57
2007.06.03
из Timage в Tpaintbox


2-1179226884
Provodnick
2007-05-15 15:01
2007.06.03
Строку с #0 в XML


11-1160597543
doozer
2006-10-12 00:12
2007.06.03
RxLibrary и ICS WSocket