[DUG] How to find parameters of an Action Menu created at runtime

David O'Brien Dave at iccs.co.nz
Thu Dec 21 17:09:33 NZDT 2017


No worries. I didn't actually try it, just a thought...

"If an action band contains a TCustomizeBandAction standard action, the user of the application can change this property. Because the caption can be changed at runtime, the default caption that will be used, should be set in the action itself and not in the TActionClientItem<http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/ActnMan_TActionClientItem.html> object."

From: delphi-bounces at listserver.123.net.nz [mailto:delphi-bounces at listserver.123.net.nz] On Behalf Of Errol Anderson
Sent: Thursday, 21 December 2017 2:01 pm
To: 'NZ Borland Developers Group - Delphi List' <delphi at listserver.123.net.nz>
Subject: Re: [DUG] How to find parameters of an Action Menu created at runtime

Hi David

Thanks for your suggestion.  Unfortunately it raises the following error:
[cid:image001.png at 01D37A7E.7858CD70]

Because there may be multiple items with the same action but different captions, I figured I had to pick the item caption, not the action caption.

I have tried creating one or multiple items at designtime as a test, but I get the same results every time - namely TActionClientItem(Sender).Caption returns a null string, and TAction(TActionClientItem(Sender).Action).Caption fails.  It appears that TActionClientItem does not act like TMenuItem which is very disappointing.

Best regards

Errol

From: David O'Brien [mailto:Dave at iccs.co.nz]
Sent: Thursday, 21 December 2017 9:58 AM
To: NZ Borland Developers Group - Delphi List <delphi at listserver.123.net.nz<mailto:delphi at listserver.123.net.nz>>
Subject: Re: [DUG] How to find parameters of an Action Menu created at runtime

The Sender will be the menu item. Try   TAction(TActionClientItem (Sender).Action).Caption.

From: delphi-bounces at listserver.123.net.nz<mailto:delphi-bounces at listserver.123.net.nz> [mailto:delphi-bounces at listserver.123.net.nz] On Behalf Of Errol Anderson
Sent: Thursday, 21 December 2017 9:47 am
To: delphi at listserver.123.net.nz<mailto:delphi at listserver.123.net.nz>
Subject: [DUG] How to find parameters of an Action Menu created at runtime


My program creates Action Menu items at runtime, with the caption of each item set to a value returned by a database query. The OnExecute procedure is the same for all items.

When I click on an item, I need to obtain the item caption for the OnExecute procedure, to use in another query. I have tried the following (analogous to TMenuItem for a popup menu):

sCaption := TActionClientItem(Sender).Caption;

However, this always returns an empty string. I have searched the web and the Delphi Help to no avail. I am aware that Caption is a published property, but the public property Index also fails.

I presume I am doing something wrong here, but cannot figure out what. Any help appreciated.
Regards

Errol Anderson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20171221/876823bb/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 2339 bytes
Desc: image001.png
Url : http://listserver.123.net.nz/pipermail/delphi/attachments/20171221/876823bb/attachment-0001.png 


More information about the Delphi mailing list