Eigentlich schon, darüber bin ich auch öfters gestolpert.
Zum Begriff "Methode": Eine Methode ist grundsätzlich eine Prozedur oder Funktion eines Objekts, während alles andere dann als normale Prozedur oder Funktion bezeichnet wird.
Tatsache ist, das Platzhalter für Ereignisse (z.B. eine Variable vom Typ TNotifyEvent) nur das eine oder das andere akzeptieren, abhängig davon, ob dieser Ereignistyp mit dem Zusatz "of object" oder nicht deklariert wurde.
Da TNotifyEvent so deklariert ist
Quelltext
1:
| type TNotifyEvent = procedure(Sender:TObject) of object; |
lassen sich nur Methoden zuweisen.
Die Delphihilfe lässt sich darüber leider nicht aus. Der einzige Satz darüber ist folgender:
| Zitat: |
| Zeiger auf Prozeduren sind niemals kompatibel zu Zeigern auf Methoden. |
Cu,
Udontknow