Hallo zusammen,
ich hab ein RIESEN Problem:
ich hab eine
MDI Anwendung in der ich mit
TMeinMDIChild.Create(tfMain);
ein
MDI Child erzeuge.
In diesem Child hab ich einen TActionmanager und eine TActionToolBar
Dazu hab ich mehrere TActions erzeugt, von denen zwei sich "abwechseln".
D.h.mit dieser Prozedur ändere ich die Action auf der ActionToolbar:
Delphi-Quellcode:
procedure ChangeModus(AModus : TModus);
begin
case AModus of
erstermodus:Actionmanager.actionbars.actionbars[0].Items[0]:=ErsteAction;
zweitermodus :Actionmanager.actionbars.actionbars[0].Items[0]:=ZweiteAction;
end;
end;
NACHDEM diese Prozedur ausgeführt wurde, jedoch nicht bei jeder Ausführung kommt eine Zugriffsverletzung, die aber nirgends in meinem Quelltext abfangbar ist. Nur im Application.OnException komm ich an die ran.
Also: Nachdem das Programm diese Prozedur durchlaufen hat kommt die
Exception, obwohl damit sämtlichen Prozeduren, Ereignisse oder sonstwas erledigt sind und einfach nur die Actions getauscht wurden.
Info:
1.Ich hab keine Threads nebenher laufen.
2.Wenn ich die Case weglasse und einfach nur immer das Gleiche zuweise kommt der Fehler nicht.
3.Der Fehler tritt NUR in diesem speziellen Fenster auf und nicht in anderen, die jedoch genau die gleichen lokalen Prozeduren verwenden.
Verwunderlich ist aber vorallem, dass der Fehler nicht bei jedem Durchlauf auftritt, sondern nur "wenn er Lust dazu hat"
Hatte jemand schonmal so ein Problem und weis vielleicht was das sein könnte?
Danke schonmal
MfG