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 TTntPopupMenu.popupcomponent.name immer leer? (https://www.delphipraxis.net/89387-ttntpopupmenu-popupcomponent-name-immer-leer.html)

OldGrumpy 30. Mär 2007 12:09


TTntPopupMenu.popupcomponent.name immer leer?
 
Hallo zusammen,

ich habe die hier schon oft beschriebene Konstellation eines Popupmenus das an mehrere Controls gebunden ist. Mittels des Properties popupcomponent müsste ich jetzt an den zugehörigen Aufrufer kommen, und dessen Namen herauskriegen können. ABER: popupcomponent.name ist immer leer?! Ich habe auch via Google nichts wirklich hilfreiches zu diesem Problem finden können. Den Quellcode von TTntPopupMenu hab ich mir auch schon angeschaut, aber die Klasse hat kaum Unterschiede zur ihrer Basisklasse TPopupMenu, und popupcomponent ist nicht neu implementiert, daran sollte es also eigentlich auch nicht liegen. Ich bin für jeden Tipp der zur Aufklärung dient, wirklich dankbar :)

dataspider 30. Mär 2007 12:45

Re: TTntPopupMenu.popupcomponent.name immer leer?
 
Hi,

was liefert den PopupComponent.ClassName? oder ist PopupComponent nil?

[EDIT]
Erstellst du die Komponenten evtll. dynamisch? Dann ist das Prop Name vielleicht wirklich leer.
[/EDIT]

Cu, Frank

OldGrumpy 30. Mär 2007 12:51

Re: TTntPopupMenu.popupcomponent.name immer leer?
 
Nein, PopupComponent ist nicht nil, nur was drin steht, ist seltsam. PopupComponent.Classname ist "TMenuItem" (Hä?), das kommt mir aber auch etwas spanisch vor. Das Popupmenu ist nicht dynamisch erzeugt sondern zur Entwurfszeit gebaut und mit den Controls verbunden worden.

dataspider 30. Mär 2007 13:03

Re: TTntPopupMenu.popupcomponent.name immer leer?
 
und du benutzt das Ereignis onPopUp?

Also:
Delphi-Quellcode:
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
  MessageDlg(TPopupMenu(Sender).PopupComponent.ClassName, mtWarning, [mbOK], 0);
end;
liefert bei mit TEdit (allerdings TPopupMenu).

Frank

OldGrumpy 30. Mär 2007 13:24

Re: TTntPopupMenu.popupcomponent.name immer leer?
 
Hah! Okay, hab den Fehler gefunden (Gut dass ich wenigstens die Ausrede hab dass der Code nicht von mir stammt *g*)...

Im OnPopup (ja, das wird benutzt) eingefügt kriege ich die richtige Meldung, die bisherige Auswertung von PopupComponent geschah aber im OnClick-Event des Menuitems auf das geklickt wurde. Das funktioniert dann natuerlich nicht. Irgendwie hab ich da wohl Tomaten auf den Augen gehabt :) Herzlichen Dank für die Schützenhilfe *g*


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 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