掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ActionMainMenuBarのImageIndex (ID:35334)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
追記です。 エラーはこのprocedureの実行時に発生するのではなく、メニューをクリックしてサブアイテムが展開する瞬間に発生します。 CPUウインドウでも、TCustomActionControl.DrawGlyphのところにエラーが出ているみたいです。 サブアイテムではなく、ルートアイテムにActionを追加した場合は、その追加した瞬間にエラーになります。 この場合はアイテムを追加した後すぐに描画が行われますから、やはり描画時にエラーが発生していると考えています。 「リストのインデックスが範囲を超えています」というエラーは出ませんし、また、 MainForm.ActionManager1.ActionBars[0].Items[0].ImageIndex:=i; とするとルートアイテムの画像は変えられるので、ImageListとのリンクは問題ないと思うのですが…。 それにしても、上記のは問題ないくせに、 MainForm.ActionManager1.ActionBars[0].Items[0].Items[0].ImageIndex:=i; とすると、やっぱりEAccessViolationなのが謎です。 MainForm.ActionManager1.ActionBars[0].Items[0].Items[0].free; とすると、サブアイテムを解放することは出来るので、サブアイテムへのアクセスは間違ってないと思うのですが…。 glyphプロパティがあれば直接書き込めるのに…。などと恨めしく思ってしまいます。 今回、日々仕事で得られる健康診断のデータを入力し、印刷して患者さんに渡し、ゆくゆくは蓄積したデータから検索をかけて臨床研究の助けになうような、そういうアプリケーションを作っていて、その本体自体はもう完成しているのですが、ここの部分だけが解決していない状況です。 このアプリのメインメニューから、仕事の助けになるような外部ツール類を呼び出せるようにしたいと思っていて、そのツール類の登録や削除を誰でも自由に出来るように設計したのですが、どうせなら、そのメニュー項目に外部ツール類のアイコン画像を張り付けたいわけです。 画像を吸い出してImageListに放り込むところまでは問題なく出来ているので、あとはメニューに貼り付けるだけなのですが、簡単に出来るだろうと思っていたら思わぬ落とし穴に嵌ってしまいました。 別に出来なくても支障ないと言えばそれまでですが、どうせならアイコン画像が表示された方が綺麗ですよね(苦笑) それに、今後の勉強という意味でも、なんとか解決できればと思っています。 私、出た大学も職業も全くコンピュータとは無縁で、教育を受けたこともなく、時々趣味でDelphiをする程度なので、根本的に考え方が間違っているところはあると思います。 インターネットで優れたプログラマーの方々のソースを見るたびに、そう思います。 今回も、どこかで誤りがあるはずなのですが、どうしても自力で解決出来ません。 お手数をお掛けいたしますが、御指導宜しくお願い致します。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.