Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Warum macht es nichts, bei Rückgabe eines Interfaces nichts initialisiert zu habe

  Alt 30. Jan 2014, 15:43
Gibt es irgendeine Möglichkeit, dass der Compiler mich warnt wenn ich folgendes tue:
Nein, gibt es nicht.

Interface-Variablen sind ja, wie schon genannt, immer initialisiert,
also gibt es da nichts zu meckern, weil es das ja schon ist.

Auch wenn das mit dem Result leider ein Sonderfall ist, denn was wird nicht in der Funktion initialisiert, sondern beim Aufrufer. (das Result wird hier, bei diesen Typen, in einen VAR-Parameter umgewandelt)
> dyn. Array, String, Interface und Variant
Und es macht Spaß, wenn die Funktion in einer Schleife aufgerufen wird.

Delphi-Quellcode:
function Mist: string;
begin
  Result := Result + 'a';
end;

for i := 1 to 5 do
  S := Mist; // oder S := S + Mist;
ShowMessage(S);
$2B or not $2B

Geändert von himitsu (30. Jan 2014 um 15:48 Uhr)
  Mit Zitat antworten Zitat