掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ActionMainMenuBarのImageIndex (ID:35333)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。どうしても自力で解決出来ないため、質問させて下さい。 環境は、Delphi7 professional/Windows XP sp3 です ①フォームにActionMainMenuBar、ActionManager、ImageListを配置 ②Actionを設定し、ActionMainMenuBarにサブアイテムとして追加する ということを目論んでいます。 しかし、ActionにImageIndexを設定(-1以外)すると、EAccessViolationが発生してしまうのです。 具体的には、 (前略) type MainForm = class(TForm) (略) private dA : array[0..9] of TAction; public end; implimentation procedure ToolsLoad; var i : integer; AC : TActionClientItem; begin AC:=MainForm.ActionManager1.ActionBars[0].Items[0]; for i:=0 to 9 do begin dA[i]:=TAction.Create(MainForm.ActionManager1); dA[i].onExecute:=ToolsActionExecute;//これの中身は今のところ空っぽ。 dA[i].Caption:=○○;//実際にはファイルから読み込む dA[i].Tag:=i; dA[i].ImageIndex:=i; //この行をコメントにするとエラーは出ない with AC.Items.Add do begin Action:=dA[i]; end; end; end; 順序を逆にしてMenuBarに追加してからImageIndexを指定した場合、何のエラーも出ない代わりに、画像の描画もなされません(そりゃそうだ)ので、恐らく画像を描画する時にエラーが出ていると思われます。 手の内を変えて直接MenuBarのImageIndexを変更しようとすると、 AC.ImageIndex:=0; これはOKで、エラーも出ず画像も正しく表示されるのですが、 AC.Items[i].imageindex:=0; という風に、サブアイテムにアクセスしようとすると、同じエラーが出ます。 今まで普通のMainMenuしか使ったことが無く、サブアイテムへのアクセスも手探りな状態で、ほとほと困り果てております(^^; どんな些細なことでも構いませんので、どこが間違っているのか、御指摘下されば幸いです。 御指導のほど、何卒宜しくお願い申し上げます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.