Das ist as-designed. Es wird nur eine Referenz benutzt. Du kannst das aber so machen (ungetestet):
Delphi-Quellcode:
const
defaultStrValue:
String = '
Das ist ein String';
var
myString:
String;
myWideChar: PWideChar;
begin
myString := defaultStrValue;
UniqueString(myString);
myWideChar := PWideChar(myString);
WinApiAufruf(myWideChar);
// AV
end;
So musst du das auch bei CreateProcess machen, sonst knallt es bei
Unicode, wenn du z.B. einen const Parameter an CreateProcess übergibst.