BCB 6 - Auf Sender zugreifen?



  • Wenn eine Funktion von einem Objekt, wie beispielsweise einem Button, aufgerufen wird, so wird hier "TObject *Sender" als Parameter übertragen. In Delphi kann man hier nun beispielsweise mittels

    with Sender as TButton do
    begin
    ...
    end;

    auf dieses aufrufende Objekt zugreifen.

    Wie funktioniert dies im BCB?
    Und wo wir gerade dabei sind, gibt es in C++ eine Möglichkeit, wie in Delphi auf Unterobjekte mittels "with" zuzugreifen? Zum Beispiel:

    With Button1 do
    begin
    Caption:="Text";
    Enabled:=false;
    end;

    Danke.



  • Hallo

    1. Ja mit den casts.

    // Du weißt genau das Sender immer ein Button ist
    TButton* Button = static_cast<TButton*>(Sender); 
    
    // Du willst testen ob Sender ein Button ist
    TButton* Button = dynamic_cast<TButton*>(sender); 
    if (Button)
    {
      ...
    }
    

    2. Nein es gibt keine direkte Umsetzung von with. Du kannst aber Pointer/Referenzen benutzen.

    bis bald
    akari



  • Danke, funktioniert bestens!


Anmelden zum Antworten