PChar(szSource + #0) ==> Wie viele #0's ergibt das denn? ==> Mindestens zwei.
Gibt es denn auch "zuviele" #0's? ==> Kommt auf den Anwendungszweck an. Meistens nein, und in diesem Fall definitiv nicht.
Kann es dann passieren, dass
pFrom nun 4 #0 am Ende hat, und die Funktion das als Leerstring für
pTo auswertet? ==> Nein.
Wie bei MS beschrieben, liest die API-Funktion bis zum ersten doppelten NULL und stoppt dort. Die Einzelstrings sind mit einfachen NULLs voneinander getrennt.
... mit wie vielen #0's ist TFileName abgeschlossen? ==> TFileName ist nur ein Alias für einen
string
. Strings sind in Delphi AFAIK nicht nullterminiert (sie haben aber im Gegensatz zu nullterminierten Strings eine Längenangabe).
@Dalai Vielen Dank für die deutlichen Aussagen!