Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: onClick behandlung für dynamisch erzeugte objekte

  Alt 20. Okt 2004, 20:09
@Nothine: Die von dir beschriebene Fehlermeldung kommt wie die Fehlermeldung schon sagt, wenn du dem "OnClick" eine normale Procedure zuweist. Verlangt wird eine Methode, die Proczedure muss also zu einer klasse gehören.

Der Fehler kommt bei
Delphi-Quellcode:
procedure meineProcedure(Sender: TObject);
begin

end;
[...]
MyImage.OnClick := meineProcedure;
da kommt der Fehler wenn onClick vom Type TNotifyEvent ist und da ist definiert das die Procedure vom Type Object ist (grund für die incompatibilität ist das der versteckte Selfparameter fehlt)

der Fehler kommt nicht bei
Delphi-Quellcode:
procedure TEineKlasse.meineProcedure(Sender: TObject);
begin

end;
[...]
MyImage.OnClick := InstanzeVonEINEKLASSE.meineProcedure;
//da das OnClick im normalfall innerhalb dieser Klasse zugewiesen wird reicht somit auch "MyImage.OnClick := meineProcedure;"
Es hat also nichts mit Delphi5 zu tun sondern damit das es sich tatsächlich um incompatible typen handelt (da der versteckte Self-Parameter bei der normalen Procedure fehlt)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat