Wie viele #0's ergibt das denn?
Mindestens zwei.
Zitat:
Gibt es denn auch "zuviele" #0's?
Kommt auf den Anwendungszweck an. Meistens nein, und in diesem Fall definitiv nicht.
Zitat:
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?
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.
Zitat:
Wie sieht das denn mit TFileName aus, also 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).
Grüße
Dalai