Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi CategoryButtons und onClick (https://www.delphipraxis.net/71858-categorybuttons-und-onclick.html)

Alloc 21. Jun 2006 22:23


CategoryButtons und onClick
 
Hi alle,

ich habe hier gerade ein Problem mit den Buttons aus einer TCategoryButtons. Wenn ich da dem onClick-Event eine Prozedur zuordne wird diese auch schön aufgerufen, allerdings ist Sender nie definiert ... damit kann ich das ganze natürlich nicht nutzen :(

Delphi-Quellcode:
procedure TForm1.AddSite(CatName: string; SiteName: string; Address: string);
  var
    button: TButtonItem;
  begin
    with cats do begin
      cat := Categories.Items[Categories.IndexOf(CatName)];
      button := cat.Items.Add;
      button.Caption := SiteName;
      button.Hint := Address;
      button.OnClick := NavClick;
    end;
  end;

procedure TForm1.NavClick(Sender: TObject);
  var
    button: TButtonItem;
  begin
    button := TButtonItem(Sender);  // <--- Sender ist nicht definiert (leere Klammer im debugger)
    web.Navigate(button.Hint);      // <--- gibt dann natürlich einen Fehler

    repeat
      Application.ProcessMessages;
      Sleep(50);
    until (web.ReadyState = READYSTATE_COMPLETE) or (not web.Busy);
  end;
Wäre für jeden Hinweis dankbar =)

Gruß,
Chris

DGL-luke 21. Jun 2006 22:28

Re: CategoryButtons und onClick
 
:warn:
Du musst dem Debugger sagen, als was er es betrachten soll, denke ich... wenn du den Sender in die Liste der beobachteten Vriablen setzt, dann ein @Sender draus machst und einen breakpoint setzt, wirst du sehen, dass er höcvhstwahrlscinlcih durchaus wohldefiniert bzw zugewiesen ist.

Der Sender ist die auslösende Kompoenente, also TCategoryButons. Das geklickte item kriegst du von (Sender as TCategoryButtons).SelectedItem.

Alloc 21. Jun 2006 22:35

Re: CategoryButtons und onClick
 
Stimmt, danke :-D
Dachte irgendwie in Erinnerung zu haben, dass er im Debugger bei Sender immer einen Pointer anzeigt ... Aber scheint wohl wirklich immer ne leere Klammer zu sein :cry:

Gruß,
Chris

DGL-luke 21. Jun 2006 22:37

Re: CategoryButtons und onClick
 
Schön dass es klappt, ich benutze den übrigens auch gerade in einem projekt. Bin also an allem interessiert, was damit zusammenhängt.

Alloc 21. Jun 2006 23:41

Re: CategoryButtons und onClick
 
Is bei mir absolut nix besondres ... War ein 2-3 Stunden Projekt ;)
Werden lediglich "dynamisch" paar Kategorien und Buttons angelegt und im Hint eine Internetadresse hinterlegt. Beim klicken wird ein TabSheet geöffnet und dadrauf im TWebBrowser die Adresse ... Nicht wirklich kompliziert oder großartig interessant ;)

Gruß,
Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz