Es ist nie eine gute Idee in Methoden auf globale Variablen zuzugreifen.
Delphi-Quellcode:
function TForm1.GetReAdr: TAdresse;
begin
Result.Vorname := 'a';
Result.Name := 'b';
end;
Warum nicht? Adresse ist nur innerhalb von TForm1 global. Das ist auch nur ein kleines komprimiertes Beispiel. In Wirklichkeit holt GetReAdr Daten per
SQL ab und speichert diese dann in Adresse zwischen. Dafür darf Adresse nicht lokal in GetReAdr definiert sein. Denn das
SQL soll nur ausgeführt werden, wenn Adresse leer ist. Sonst soll GetReAdr Adresse zurückgeben. Wenn ich sowas habe wie
property Vorname: string read FVorname write FVorname;
ist FVorname auch global in der Klasse gültig. Ähnlich wie Adresse hier.