Zitat von
stho:
die procedure gehört keiner klasse an
Tja, entweder Prozedur/Funktion (außerhalb einer Klasse) oder Methode (innerhalb einer Klasse) ... es geht nur eines von Beidem.
Wenn das Ereignis einen Methodenzeiger will, dann mußt du auch eine Methode übergeben.
Signatur = Typen der Parameter und des Results und die Aufrufkonvention (ala stdcall)
Zitat von
mkinzler:
Welcher Klasse sie gehört ist egal
Man kann sogar noch weiter gehn...
Zu welchem Objekt sie gehört ist egal.
Code:
type
// Deklaration eines Prozedur-Zeigers
TEvent1 = [b]function[/b](index: [b]integer[/b]): [b]boolean[/b]; [b]stdcall[/b];
[b]function[/b] EventProc(i: [b]integer[/b]): [b]boolean[/b]; [b]stdcall[/b];
begin
end;
type
// Deklaration eines Methoden-Zeigers
TEvent1 = [b]procedure[/b](index: [b]integer[/b]) of [i]object[/i];
[b]procedure[/b] [i]TMyClass[/i].EventMethod(i: [b]integer[/b]);
begin
end;
Das
Fette sind die
Signaturen.