Einzelnen Beitrag anzeigen

Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: prozedur aufruf und sender

  Alt 25. Okt 2003, 17:32
Hallo Christian,

Danke für Deine Ausführungen,

Zitat:
Nun kannst Du aber in der Methode auch noch mit Hilfe von self auf die Eigenschaften und Methoden der Klasse zugreifen
das war mir soweit klar.

Ich habe bis jetzt, wenn ich einem Ereignis eine Prozedur zuordnen wollte immer
eine Prozedur geschrieben, die die gleichen Parameter hat wie das Ereignis.

Ah, jetzt ist der Groschen gefallen:

Du hast Messerscharf geschlossen, dass

Zitat:
procedure machwas(sender : TObject); // das ist eine Methode
...
var radiogroup : TRadiogroup;
...
radiogroup := TRadioGroup.Create(panel);
radiogroup.Parent := Pnl_eingabe;
@radiogroup.OnClick := @machwas;
...
procedure machwas(sender : TObject); // das ist eine Prozedur
begin
if sender = radiogroup then
showmessage('radiogroup geklickt');
end;
Und da LoL in einer Methode eine Komponente erzeugt und dessen Ereignis einer Prozedur
mit dem Namen der Methode zuweist, gibt es das Problem mit dem versteckten Self,... NEIN,
JETZT KLEMMT ES WIEDER

LoL weist einem Ereignis eine Prozedur zu, das geht doch auch ohne Zusatzparameter, oder?
Andererseits, @machwas bezieht sich auf die Methode, oder?
Wie kann er dann auch noch bei der gleichnamigen Prozedur, die mit der Methode nichts zu tun hat
auf Radiogroup abfragen. (Ich dachte ausserdem beim Sender ist nur IS oder AS erlaubt)

Fragen über Fragen, ich weiß, aber ich möchte das Verstehen und etwas dazulernen.

p.s.
Deine Erklärung habe ich schon verstanden, das mit dem versteckten Sender kam auch
wieder aus den Tiefen meines Gerhirns hoch, nachdem Du es erwähnt hattest, (Dinge die
selbstverständlich benutzt werden, vergesse ich allzuleicht) aber es gibt einen Unterschied zw.
Deinem und LoLs Code.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat