AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Funktionsliste

Ein Thema von DelphiManiac · begonnen am 25. Sep 2006 · letzter Beitrag vom 26. Sep 2006
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: Funktionsliste

  Alt 25. Sep 2006, 12:50
Zitat von DelphiManiac:
@Der_Unwissende:
Hast du evtl ein Beispielcode für die Callback Methode und das mit dem "Observer-Pattern" .

Ich google mal, wäre aber trotzdem super wenn du mir da noch einen Schupps geben könntest.
Erstmal zu den Callbacks (sorry, wird mal etwas unsauber, bin auf'm Sprung):
Delphi-Quellcode:
type
  TDeinCallBack = procedure(const neuerWert : TTyp) of Object;
So legst du einen Methodenszeiger an. Dieser speicher die Adresse einer Funktion/Prozedur einer Klasse. Du legst jetzt eine Variable von diesem Typ in deinem Thread an. Die Parameter (hier neuerWert) geben dabei die Nachricht weiter (was genau ist passiert). Hier könntest du z.B. einen Messwert übergeben, der angezeigt oder gespeichert werden soll.
In deiner Form legst du dann eine Methode mit dieser Signatur an
Delphi-Quellcode:
type
  TForm1 = class(TForm)
   ...
   procedure onWhatEver(const neuerWert : TTyp);
Diese Prozedur kannst du nun der Variable des Threads vom Typ TDeinCallback zuweisen (:= Form1.onWhatEver Also ohne Klammern und Argument. Wie gesagt, du speichert damit eine Adresse, assigned gibt dir also zurück, ob dieser Zeiger gültig ist oder nicht. Ist er gültig, kann dein Thread diese Methode einfach aufrufen. Dazu einfach diese Variable wie eine echte Methode verwenden. Damit muss dein Thread also gar nicht wissen wo die Funktion herkommt. Er hat einfach eine Adresse und ruft die entsprechende Methode auf. Die kannst dann auch aus Form2, Fomr3 oder DoFoo28737 kommen, hauptsache es ist eine Methode, die genau diese Signatur hat.

Das Observerpattern ist hingegen nur ein Muster. Hier wird vorgegeben, wie man mehr als einen Beobachter über ein Ereignis informieren kann, die Implementierung hingegen bleibt einem selbst überlassen. Das was ich noch ansprach (über Objekte) werde ich hier auch nochmal posten, aber jetzt muss ich erstmal weiter.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz