Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#9

Re: Prüfen ob ein Event zugewiesen wurde

  Alt 6. Jun 2005, 21:20
Zitat von Robert_G:
Hmm... Das würde mehr Zeit kosten als ich in meinen kleinen "DP-Pausen" habe. Ergo muss ich dich auf heute Abend vertrösten...
Ist zwar erst später Nachmittag, aber ich werde mal mein Versprechen einhalten.
Oki, fangen wir an.
Wir brauchen:
  • Delphi
  • 500ml Kaffee
  • ein neues Projekt (Package)
Das Package speichern wir als SampleTableDescendant ab.
Wir wollen eine Komponente ableiten, right?
Also: im Menü File\New\Other anklicken
Dort finden wir ein Component template (das gelbe Zahnrad).
Als Ancestor Type gibst du den Namen der Table-Klasse an, die du verwendest.
Als Class name nehmen wir "TSampleTableDescendant", die Palette nennen wir "DP Samples".
Beim Dateinamen würde ich uSampleTableDescendant empfehlen, da der Unit name sonst gleichnamige Instanzen verhindern würde.
Ein Klick auf den Button rechts daneben (der mit den 3 Pünktchen ) und du kannst die Unit in den Ordner packen, in dem du auch das Package gespeichert hast.
Jetzt ein Klick auf OK.

Wir sehen nun einen leeren Rumpf einer Klasse, die von TXXXTable ableitet.
Einfach in der Klassendefinition alles außer protected rauslöschen.
In der Zeile unterhalb von protected [Ctrl + Space] drücken und DoAfterDelete auswählen.
*Fump* schon haben wir den Interface teil fertig. Ein [Ctrl+Shift+C] und die Klasse ist fast fertig.
Es sollte jetzt so aussehen:
Delphi-Quellcode:
type
   TSampleTableDescendant = class(TADOTable)
   protected
      procedure DoAfterDelete; override;
   end;

procedure Register;

implementation

procedure Register;
begin
   RegisterComponents('DP Samples', [TSampleTableDescendant]);
end;

{ TSampleTableDescendant }

procedure TSampleTableDescendant.DoAfterDelete;
begin
   // code, der vor dem Event ausgeführt werden soll
   inherited;
   // code, der nach dem Event ausgeführt werden soll
end;
Die Kommentare habe ich als Hilfestellung reingeschrieben.
Jetzt alles speichern, im Menu unter View auf ProjectManager klicken und einen Rechtsklick auf unser Package machen.
Rate mal was "Install" macht.
Du kannst jetzt die neue Komponeten genauso verwenden, wie die alte.
Anhand der Kommentare oben kannst du eigene Logik einfügen, die vor bzw. nach dem AfterDelete event ausgeführt werden soll.
Beim Kompilieren des Packages wird die Komponente in der IDE aktualisiert.
Happy ...
  Mit Zitat antworten Zitat