AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Messages von anderen Programm abfangen????

Ein Thema von tofse · begonnen am 14. Mär 2013 · letzter Beitrag vom 14. Mär 2013
Antwort Antwort
tofse

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

Messages von anderen Programm abfangen????

  Alt 14. Mär 2013, 09:17
Hallo,

folgendes Problem: Ich habe ein Textbaustein Programm geschrieben, das permament geöffnet ist. Nun gibt es die blöde Besonderheit, dass eine Fehlermeldung von meinem Programm erscheint, wenn ein Formular aus einer anderen Anwendung geschlossen wird. Die Meldung lautet "Menüindex außerhalb des zulässigen Bereichs".
Die Meldung kann man eigentlich an allen möglichen PC's reproduzieren nur, und das bringt mich zum Verzweifeln, an meinem Entwicklungs-PC nicht! Ich kann also nichts debuggen.
Generell dürfte die Meldung beim Schließen einer anderen Anwendung (Formular) gar nicht auftreten, da es von meinem Programm eigentlich keine Interaktion gibt.
Ich bin mir auch ziemlich sicher, dass ich sauber programmiert habe, was die Index Werte angeht. Von daher ist mir das alles ein Rätsel.

So, nun zum Betreff zurück. Vielleicht schickt die andere Anwendung Messages an andere Programme?? Das wäre mir noch als Idee eingefallen. Deshalb die Frage, ob man das global irgendwie abfangen/prüfen kann???? Das andere Programm veranstaltet halt immer ein ziemliches Durcheinander, wenn es mehrere Formulare öffnet, die fest im Vordergrund sind und nicht.
Mein Formular hat auch fsStayOnTop, vielleicht gibt es da halt irgendeinen Zusammenhang?

Edit: bzw. kann ich mein Programm irgendwie so erzeugen, dass es mir bei Fehlern mehr Infos gibt, z.B. welcher Index etc...

Puuh, sorry, aber keine Ahnung, wie ich das sonst beschreiben soll
Grüße
Christof

Geändert von tofse (14. Mär 2013 um 09:27 Uhr) Grund: Nachfrage
  Mit Zitat antworten Zitat
tofse

Registriert seit: 6. Jun 2011
Ort: Saarlouis
128 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
Medium

Registriert seit: 23. Jan 2008
3.492 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Messages von anderen Programm abfangen????

  Alt 14. Mär 2013, 10:36
Vom Prinzip her hält keiner ein Programm davon ab, sich alle Fenster auflisten zu lassen und munter Messages an diese zu verschicken. Wie sinnvoll das im einzelnen Fall ist, lässt sich schwer beurteilen
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Messages von anderen Programm abfangen????

  Alt 14. Mär 2013, 11:40
Vllt. hat das andere Programm eine eigene Globale Message mit dem selben Wert erzeugt, und schickt Sie an alle Fenster. Dann wäre es nen Fehler der anderen Anwendung, da man auf sowas achten sollte...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf