So kann man sich täuschen.
Ich dachte immer, dass ein
Delphi-Quellcode:
var
Value: Integer;
Inc( Value );
intern so funktioniert, dass der Wert von
Value
ausgelesen, dann um 1 erhöht (ergibt einen neuen Wert, der auch Speicher belegt) und dann zurückgeschrieben wird.
Delphi-Quellcode:
procedure Inc( var AValue : Integer );
begin
AValue := AValue + 1;
end;
oder noch etwas anders geschrieben
Delphi-Quellcode:
function IntegerInc( AValue : Integer ): Integer;
begin
Result := AValue + 1;
end;
procedure Inc( var AValue : Integer );
begin
AValue := IntegerInc( AValue );
end;
Also ganz genau wie das hier bei den Records passiert, da ein Record eben auch nur einen komplexerer Wert darstellt.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)