Thema: Delphi Unterschied? (PChar)

Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

Re: Unterschied? (PChar)

  Alt 16. Sep 2003, 14:56
Zitat von Motzi:
Dank der erweiterten String-Syntax reserviert Delphi im ersten Beispiel den Speicher selbst (völlig transparent)
Du redest hier von strings. silent hat aber auch im ersten Beispiel einen PChar.

Im ersten Beispiel setzt der Compiler den PChar p auf die Adresse, an der die hard-coded Zeichenkette 'bla' steht. Und diese liegt in einem schreibgeschützten Speicherbereich. Es wird also kein Speicher durch Compiler Magic reserviert.
Folgendes Beispiel verdeutlicht das am besten:
Delphi-Quellcode:
var
  P: PChar;
begin
  P := 'Test';
  P[0] := 'F'; // <-- Schutzverletzung.
end;
  Mit Zitat antworten Zitat