Zitat:
pFrom := PChar(fromDir + #0);
Delphi erzeugt hier eine temporäre Variable vom selben Typ wie fromDir (der erste Operand) und mit dem Inhalt von
fromDir + #0
,
übergibt davon den Zeiger an pFrom und zum Ende der Funktion wird diese Variable freigegeben.
In dieser Variable steht also
fromDir + #0
als Text und daran anknüpfend noch ein zustätliches #0, welches der Delphisteing enthält, um kompatibel zum PChar zu sein.
Die #0 im Text und die #0 des String ergeben also #0#0.
Fazit, es funktioniert (solange man es nicht unbedingt innerhalb einer Schleife nutzt) und wird auch (von mir) seit Jahren erfolgreich eingesetzt.