Hallo zäme
Damit ich in einer
MDI-Applikation das Haupt- und Childmenu an einer beliebigen Stelle auf dem Formular platzieren kann, schreibe ich eine Komponente die wie folgt aufgebaut ist:
- Ableitung von TPanel
- Innerhalb dem TPanel erzeuge ich ein TActionMainMenuBar und ein TActionManager
- An der Komponente gebe ich via Property das Main- und Childmenu mit
- Die Komponente intern fügt diese beiden Menus in einer eigenen Liste (weiteres Menu) zusammen
- Anschliessend werden dynamisch in der ActionMainMenuBar die Items erzeugt
Ich kann die Applikation starten und auch die Menuzuweisung machen. Das Menu in der ActionMainMenuBar wird auch korrekt dargestellt. Wenn ich jedoch dann auf das Menu klicke, kommt folgende
Exception:
"Im Projekt ist eine
Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 211DD8F7 in Modul 'vclactnband120.bpl'. Lesen von Adresse 0000001C' aufgetreten"
Wenn ich das ganze durchdebugge, dann sind die Items in der ActionMainMenuBar korrekt erzeugt. Es sieht so aus, dass die
Exception ausserhalb Delphi geworfen wird, da ich nach ihr nicht weiterdebuggen kann.
Ich setzte Delphi 2009 ein.
In der Beilage der Quelltext der Komponente.
Für Unterstützung und Tipps bin ich sehr dankbar.
Freundliche Grüsse
Stefan