Das Problem ist, dass der zweite Parameter an CreateProcess variabel sein muss. Das ist er hier durch den simplen Cast
PChar(CommandLine)
nicht.
Man muss vorher UniqueString oder eine lokale Variable benutzen oder auch
PChar(CommandLine + '')
sollte reichen. Das bewirkt, dass ein neuer String erzeugt wird, der auch beschreibbar ist.
Siehe Doku:
https://msdn.microsoft.com/en-us/lib...or=-2147217396
Der Parameter ist als in
und out markiert.