Forum: Sonstige Fragen zu Delphi
by himitsu,
7. Aug 2014
Da wird ja auch nicht die Referenz verändert, sondern etwas, auf das die Referenz verlinkt.
Du wolltest aber die Referenz (den Inhalt der Variable und nicht Etwas in dem, worauf die Referenz in der Variable zeigt) ändern.
Der Vergleich wäre also
procedure TForm1.btn1Click(Sender: TObject);
begin
Sender := nil; // oder Sender := btn2;
end;
Forum: Sonstige Fragen zu Delphi
by himitsu,
6. Aug 2014
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.
procedure TForm2.FormClose(Self: TForm2; Sender: TObject; var Action: TCloseAction);...