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
...