![]() |
Eigene Prozeduren für eine Komponente???
Hallo!
Ich versuche gerade, mir eine kleine Komponente zu erstellen. Die Komponente besitzt unter anderem eine TObjectList und zwei Prozeduren, um die Inhalte dieser TObjectList als XML specihern und laden. Alles funktioniert sehr gut. Nun möchte ich für meine Komponente vier Events erstellen, die dann über ObjectInspektor zuzuweisen sind. Diese Events sollen jeweils Anfang und Ende des Speichern- und Ladenprozesses signalisieren, also OnBeginSave OnEndSave OnBeginLoad OnEndLoad Wie mache ich das? Wie erstelle ich diese Events? Ich habe mir mehrere Delphi-Units angesehen, unter anderen die StdCtrls.pas, aber nicht weiter gekommen. Die Komponente TButton hat z.B. die Procezur OnClick. Diese wird in der TButton-Deklaration einfach als "property OnClick" deklariert. Das wir aber nicht reichen, oder? |
Re: Eigene Prozeduren für eine Komponente???
Delphi-Quellcode:
So sieht das im Prinzip aus.
type TBeginSave = procedure<(Parameter: Datentyp)> of object;
TMyKompo = class private FOnBeginSave: TBeginSave; ... published property OnBeginSave: TBeginSave read FOnBeginSave write FOnBeginSave; ... end; ... procedure TMyKompo.TuWas; begin ... if Assigned(FOnBeginSave) then FOnBeginSave; end; |
Re: Eigene Prozeduren für eine Komponente???
Zitat:
|
Re: Eigene Prozeduren für eine Komponente???
:oops: Stimmt, wird sofortens korrigiert.
|
Re: Eigene Prozeduren für eine Komponente???
Hi DaddyH,
gib ihm doch für den Anfang ein TNotify Event. Dann hat er es etwas leichter.
Delphi-Quellcode:
Gruß oki
TMyKompo = class
private FOnBeginSave: TNotifyEvent; ... published property OnBeginSave: TNotifyEvent read FOnBeginSave write FOnBeginSave; ... end; ... procedure TMyKompo.TuWas; begin ... if Assigned(FOnBeginSave) then FOnBeginSave(self); end; |
Re: Eigene Prozeduren für eine Komponente???
Ich weiß ja nicht, wie die entsprechende Prozedur auszusehen hat. Evtl. erwartet er ja Parameter, daher hab ich das Typisieren eines Events gleich mit beschrieben.
|
Re: Eigene Prozeduren für eine Komponente???
Sollte ja keine Kritik sein.
Ich hatte den Eindruck, dass er noch nicht so recht mit Events um weis. Zudem sind die benannten doch recht eindeutig und sicher erst mal als einfache NotifyEvents einbindbar. Ich würd mich nicht wundern, wenn sonnst die Frage kommt: "Was sagt die Deklaration procedure of Object aus?". Gruß oki |
Re: Eigene Prozeduren für eine Komponente???
Warten wir es einfach mal ab :zwinker:
P.S.: Ich hatte das auch nicht als Kritik aufgefasst, wobei gegen Kritik ja generell nichts einzuwenden ist |
Re: Eigene Prozeduren für eine Komponente???
Zitat:
|
Re: Eigene Prozeduren für eine Komponente???
Vielen Dank für die Hilfe!
Für Load und Save habe ich einfache TNotifyEvents erstellt, wie Oki vorgeschlagen hat. Ich habe ausserdem noch einige Events hinzufügt, die Parameter erwarten. Da war das Beispiel von DeddyH sehr hilfreich. Vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 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