Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by maximov,
9. Sep 2004
Denk da nochmal drüber nach! Entweder hast du dir ein schlechtes beispiel gesucht oder Polymorphy nicht verstanden (nicht böse sein). ABER selbstverständlich wird in diesem fall TButton.Repaint aufgerufen, denn sie wurde ja explizit von TButton überschrieben.
ODer wie darf ich dich verstehen?
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by maximov,
9. Sep 2004
Jeder, der so etwas macht ist selbst dafür verantwortlich, das die methode die richtigen parameter erhält :shock: ...is nicht ganz eifach das zur laufzeit zu entscheiden, da keinerlei infos über die signatur der methoden vorliegen, aber wenn man sich ein paar konventionen aufstellt kann man das vertreten.
..
Wie auch immer. Ich würd auch eher auf Polymorphie zurück greifen.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by maximov,
9. Sep 2004
Ja, wenn die published sind ist das kein problem. Einfach den pointer holen und eine methoden-variable zusammen basteln:
type
TMyCall = procedure of object;
var
method:TMethod;
...
method.data := myObj;
method.code := myObj.MethodAddress('Perform');
...
if method.code <> nil then TMyCall(method); // dies ist der aufruf!