Как всегда, раньше всё работало, а сейчас не хочет. Причину понять не могу.
Если в лоб то CreateProcess работает только если я вызываю его напрямую (например на нажатие кнопки):
Вот тут всё работает:
procedure TForm1.TestClick(Sender: TObject);
var
si: TStartupInfo;
pi: TProcessInformation;
begin
CreateProcess (nil, PAnsiChar('Calculation002\001\CORE_1.exe'), nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, si, pi);
//прямой путь тоже работает
end;
А вот так - нет:
procedure Test2;
var
si: TStartupInfo;
pi: TProcessInformation;
Begin
CreateProcess (nil, PAnsiChar('Calculation002\001\CORE_1.exe'), nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, si, pi);
end;
procedure TCoreShell.TestClick(Sender: TObject);
begin
Test2;
end;
и выдает ошибку с картинки.