Показать сообщение отдельно
  #1  
Старый 23.12.2014, 11:01
AlexeyTG AlexeyTG вне форума
Прохожий
 
Регистрация: 17.12.2014
Сообщения: 7
Версия Delphi: Delphi XE7
Репутация: 10
По умолчанию Рабочий код, просьба оценить "корявость" v3

Задача запуск 2 программ. Запускаем первую программу с параметрами, ждем ее окончания, и только потом запускаем вторую. Заново написаный код.
Код:
program Project1;
 
uses
 Winapi.Windows,
 System.SysUtils;
 
{$R *.res}
 
function RunApp (const ProgName, ProgParams: String; RunWait:Boolean): boolean;
Var
StartInf: TStartupInfo;
ProcInf: TProcessInformation;
begin
 ZeroMemory(@StartInf,sizeof(StartInf));
 StartInf.cb:=SizeOf(StartInf);
 Result:=CreateProcess(nil, PChar('"' + ProgName + '" ' + ProgParams), nil, nil, False, 0, nil, nil, StartInf, ProcInf);
 CloseHandle(ProcInf.hThread);
 If RunWait then WaitForSingleObject(ProcInf.hProcess, INFINITE );
 CloseHandle(ProcInf.hProcess);
end;
 
begin
 if not RunApp('C:\Windows\System32\notepad.exe','D:\1.txt', True) then exit;
 if not RunApp('C:\Windows\System32\notepad.exe','D:\2.txt', False) then exit;
end.

Просьба оценить, есть ли какие-то ошибки в коде?
Ответить с цитированием