Delphi hängt standardmäßig immer zwei Nullen an seine Strings an. (als Kompatibilität auch zu solchen Listen)
Also im Prinzip könnte man es hier auch weglassen, ...
PS: ein PChar-Cast, von einem String aus, gibt immer einen "gültigen" Zeiger zurück.
Ein leerer String ist zwar NIL, aber hier wird dann ein Zeiger auf eine Konstante mit #0#0 zurückgegeben.
Im Delphi würde ich das wohl so machen: PChar(szSource + #0);
denn IIRC hängt der Cast zu PChar bereits ein NULL an.
PChar(szSource + #0);
Wie viele #0's ergibt das denn?
Gibt es denn auch "zuviele" #0's? Wenn ein string in Delphi schon standardmäßig 2 #0 hat und ich z. B. eingebe:
Delphi-Quellcode:
pFrom := PChar(szSource + #0#0);
pTo := PChar(szDestination + #0#0);
Kann es dann passieren, dass
pFrom nun 4 #0 am Ende hat, und die Funktion das als Leerstring für
pTo auswertet?
Wie sieht das denn mit TFileName aus, also mit wie vielen #0's ist TFileName abgeschlossen?