Announcement

Collapse
No announcement yet.

Eigenschaften von Nachfahren von TControl

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eigenschaften von Nachfahren von TControl

    Hallo,
    ich möchte eine Komponente programmieren, die als Eigenschaft eine von TControl abgeleitete Komponente hat. In dieser Komponente möchte ich jetzt dem Ereignis OnClick eine komponenten-interne Prozedur zuweisen. Es würde auch funktionieren, wenn TControl das Event OnClick bereitstellen würde, das gibt es aber erst bei den Nachfahren. Da ist mein Problem:

    Wie finde ich heraus, ob die angegeben Komponente (als Nachfahre von TControl) das Ereignis OnClick hat und weise ihr eine Prozedur zu?

    Für jeden Tipp dankbar...

    Uwe

  • #2
    Hi, Uwe,
    <br>wenn ich dein Problem recht verstanden habe, hast du eine Klasse mit einem Feld "FControl: TControl" oder so, und möchtest "FControl.OnClick" schreiben. Dann könnte dir folgender Trick helfen:
    <p>Definiere dir in der Unit, wo du den Zugriff auf FControl.OnClick brauchst, eine Ableitung von TControl:
    <pre>
    type
    TTrick = class(TControl)
    end;
    </pre>
    Dann kannst du dein Ziel per
    <pre>
    TTrick(FControl).OnClick := ControlClick;
    </pre>
    erreichen.
    <p>
    Die gewagtere Variante wäre, die Ableitung (TTrick) einfach wegzulassen und
    ganz brutal z.B. TButton(FControl).OnClick zu schreiben. Das hab ich gelegentlich
    verwendet und bin nie auf die Nase gefallen.
    Kannst's ja je nach Risikofreudigkeit mal probieren... ;-)
    <p>HTH, Uli

    Comment

    Working...
    X