при запуске env переменные окружения "плывут" . Хотя вывод на консоль через writeln('EnvironmentString('+inttostr(i)+')='+GetEnvironmentString(i)) нормальный
- Код: Выделить всё
function RunApp(PathToBin:string): integer;
var
PParam,PEnv:PPChar;
i:integer;
ce:integer;
begin
Getmem(PParam,(Paramcount+1)*SizeOf(Pchar));
Writeln('Paramcount='+inttostr(Paramcount+1));
for i:=0 to Paramcount-1 do
begin
PParam[i]:=Pchar(ParamStr(i));
writeln('ParamStr('+inttostr(i)+')='+ParamStr(i));
end;
PParam[Paramcount+1]:=nil;
ce:=GetEnvironmentVariableCount;
Getmem(PEnv,(ce+1)*SizeOf(Pchar));
writeln('EnvironmentVariableCount='+inttostr(ce));
for i:=0 to ce-1 do
begin
PEnv[i]:=Pchar(GetEnvironmentString(i));
writeln('EnvironmentString('+inttostr(i)+')='+GetEnvironmentString(i));
end;
PParam[GetEnvironmentVariableCount+1]:=nil;
FpExecVPE(PathToBin,PParam,PEnv);
end;