Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5
  Alt 4. Jan 2003, 23:50
Ein AnsiString fürht 2 Längeninformationen mit sich. Zum einen in den 8 Bytes vor der Adresse, auf die die Variable zeigt, und zum anderen ist jeder String sowieso Nullterminiert. Wandelt man nun einen String per Typecast in einen PChar mit p := PChar(s) um, so wird geprüft, ob der String leer ist (also die Variable intern NIL ist). Wenn dies der Fall ist, wird aus dem NIL-String ein #0-String.

Zusammengefasst:
PChar('') ergibt #0
und
Pointer('') ergibt nil.
  Mit Zitat antworten Zitat