Hallo,
ich glaube, ich habs gefunden.
Ich verwende in meinem Programm
procedure WMMENURBUTTONUP(var msg: TMessage); message WM_MENURBUTTONUP;
um den Mausklick mit der rechten Taste im Menü abzufangen.
Immer wenn nun die andere Anwendung geschlossen wird, wird die Prozedur aufgerufen.
Ich habe nun einfach ein paar "Sicherheits IF's" drum herumgebaut, und der Fehler tritt nicht mehr auf
Delphi-Quellcode:
mi:=TxtHauptmenue.FindItem(Msg.LParam,fkHandle);
if mi <> nil then
begin
if mi.Count > Msg.WParam then
begin
rightClickItemName:=mi.Items[Msg.WParam].Name; // hier war immer der Fehler, weil es den Index nicht gab, der von der anderen Anwendung geliefert wird
ABER: der Fehler tritt nicht mehr auf, aber warum wird denn überhaupt die Prozedur bei mir aufgerufen. Kann mir das jemand erklären? Ist es denn generell so, dass hier alle entsprechenden Messages ankommen? Ich bin immer davon ausgegangen, dass hier nur die vom "eigenen" Menü abgefangen werden
Danke