Zitat von
Bernhard Geyer:
Zitat von
Blup:
Sie werden im Programm genauso behandelt, ...
Nicht ganz. Eine Konstante wird an jede Verwendungsstelle kopiert. Gleiche Texte sind also mehrfach in der Exe vorhanden (Jedenfalls macht es D6 so).
Klar erzeugt der Compiler unterschiedlichen Code. Die Aussage bezieht sich auf die Benutzung der Konstanten.
Delphi-Quellcode:
const
s = 'abcd';
var
a, b: string;
begin
a := s;
b := s;
if Pointer(a) = Pointer(b) then
ShowMessage('Adresse ist gleich')
else
ShowMessage('Adresse ist ungleich');
end;
Delphi 2007 sagt: Adresse ist gleich
Ich glaube der Delphi-Compiler macht das schon immer so.