Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#10

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 14:10
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;
Sein Code war schon fast richtig, denn er "wollte" die Instanz zurückgeben, welche er in TForm1 deklatiert/erstellt hat.
Aber er hat nicht auf seinen Compiler gehört, welcher ihm bestimmt was vonwegen "Result ist nicht initialisiert" um die Ohren wirft!


[edit] War das Result := Adresse; vorhin auch schon in Post #1 ?
Nja, dein Code war zumindestens falsch, denn Result wurde nicht initialisiert.

Delphi-Quellcode:
function TForm1.GetReAdr: TAdresse;
begin
  Result := Adresse;
  Result.Vorname := 'a';
  Result.Name := 'b';
end;

// oder

function TForm1.GetReAdr: TAdresse;
begin
  Adresse.Vorname := 'a';
  Adresse.Name := 'b';
  Result := Adresse;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Okt 2014 um 14:15 Uhr)
  Mit Zitat antworten Zitat