Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Unterschied zwischen "Self" und Form2 (MDI-Child-Formular)?

  Alt 6. Aug 2014, 21:26
Self ist ein "unsichtbarer" Parameter in allen Klassen-Methoden.
Nur bei class procedure/function ist der Self-Parameter nicht die Instanz, sondern der Klassentyp.
Und statische Klassenmethoden (class procedure name(); static; ) haben garkein Self, womit sie praktisch genauso wie "normale" Prozeduren sind.


Delphi-Quellcode:
procedure TForm2.FormClose(Self: TForm2; Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  ...
end;
Und nun überleg mal, warum es nichts bringt diesem Parameter etwas zuzuweisen (kein (var Self: TForm2; ... ).

Die Form selber weiß von der externen Variable Form2 überhaupt nichts.
Und sie weiß auch nicht, ob es sonstwo noch Variablen gibt. Und es wird auch nirgendwo verwaltet ob und welche Variablen es irgendwo gibt, in denen eventuell eine Instanz dieser Klasse drin abgelegt ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 6. Aug 2014 um 21:29 Uhr)
  Mit Zitat antworten Zitat