Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

Re: Procedure als Event definieren? Wenn ja, wie?

  Alt 8. Apr 2010, 19:53
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat