Einzelnen Beitrag anzeigen

tofse

Registriert seit: 6. Jun 2011
Ort: Saarlouis
131 Beiträge
 
Delphi XE Professional
 
#2

AW: Messages von anderen Programm abfangen????

  Alt 14. Mär 2013, 10:30
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
  Mit Zitat antworten Zitat