Thema: Delphi Funktionsliste

Einzelnen Beitrag anzeigen

TAC

Registriert seit: 29. Nov 2005
Ort: Hamburg
25 Beiträge
 
#9

Re: Funktionsliste

  Alt 26. Sep 2006, 11:36
Moin,

mit dem of object wird ein Methodenzeiger erzeugt, der über den Type TDeinCallBack verfügbar ist.
In der Threadklasse wird dann das EventOnDeinCallBack : TDeincallback; implementiert, sinnvollerweise public, damit der Instanz von TMyThread von außen für OnDeinCallBack etwas zugewiesen werden kann.
In einer anderen Klasse (z.B. Form1) deklariert man dann z.B. eine entsprechende procedure MeinThreadMeldetSich(const neuerWert : TTyp) .

Wenn man nun in OnCreate des Form1 den MyTHread := Thread.Create... kreiert , dann macht man hier die Zuweisung MyThread.OnDeinCallBack := MeinThreadMeldetSich; .
Wenn man zudem, wie ich es zuvor vorgeschlagen hatte, den Sender in den Methodenzeiger implementiert, dann hat Form1 auch direkten Zugriff in MeinThreadMeldetSich auf den Thread selbst und nicht über die Instanz MyThread . Dies macht dann Sinn, wenn vielleicht mehrere Threads gleichzeitig laufen, und man nicht unbedingt weiß, welcher gerade MeinThreadMeldetSich aufruft, dann lässt sich über Sender auf die jeweilige Instanz bezugnehmen. Wie z.B. wenn alle Button es Form1 dasselbe ClickEvent OnClick aufrufen, lässt sich in der Procedure Tform1.ButtonClickEvent(Sender:TObject) z.B. mit showmessage((Sender as TButton).name) ausgeben.

Hoffe, daß hat ein wenig helfen können...

Mfg
TAC
  Mit Zitat antworten Zitat