TActionManager
1つのシングルと割り当てられTAction
た-sを共有したい2つのフォームがあります。
最初のフォームはメインフォームです-それはTActionManager
、TAction
キャプション「アクション」で保持されます。
Form1のメインメニューでは、このアクションとmenuitemのcaptionプロパティが「アクションA」に設定されています。Form2にはForm1が含まれ、メニュー項目にアクションを割り当て、キャプションは「アクションB」に設定されます。
設計時はすべてが良好に見えます。メニュー項目には、Form1とForm2で「アクションA」と「アクションB」という名前が付けられ、同じアクションが割り当てられます。実行時にも正常に動作します(OnExecuteは両方のフォームで適切に処理されます)。
ただし、実行時に、Form1メニュー項目には「アクションA」というキャプションがあり、Form2にはアクションキャプションと同じように「アクション」というメニュー項目キャプションがあります。
それらを誤って含めていますか?アクションを共有し、キャプションを変更するためにForm2にForm1を含めることは可能ですか?D2010 / CB2010のバグですか?
例:
- Form1とForm2を作成し、両方にメインメニューを追加します
- TActionManagerをForm1にドロップし、その中にAction1を作成します。
- Form1 Action1でメニュー項目を割り当て、その後キャプションを変更します(キャプションはデフォルト値からの変更を示す太字で表示されます)
- Form2のメニュー項目もAction1(Form1 TActionManagerから)に割り当て、デフォルトのキャプションも変更します。
- 実行時に、Form1はキャプションを変更し(Action1.Captionとは異なります)、Form2はAction1.Captionと同じキャプションを持ちますが、キャプションは手順4で変更された新しい値である必要があります。