MessageBox erscheint manchmal nicht, nur Piepton
-
Ich habe ein Phänomen, welches ich mir nicht erklären kann. Mein MessageBox-Aufruf funktioniert leider nicht überall gleich. Soll heißen, es kompiliert und linkt korrekt, aber zur Laufzeit bekomme ich nur einen Piepton der Messagebox. Die MessageBox bekomme ich nicht zu Gesicht. Die MessagBox()-Funktion kehrt auch sofort zurück und liefert einen Returnwert.
Was sehr merkwürdig ist, ist das dieses Phänomen (schlagt mich!) nicht in meinem gesamten Projekt auftritt.
In meiner statischen Lib kommt nur noch der Piepton (ging schon mal), in meinem Exe-Projekt erscheint der Dialog.
Bin leider kein Win32-Crack... aber vielleicht kennt jemand das Phänomen und weiß Rat?
-
Du übergibst für entweder den ersten oder den letzten Parameter einen falschen Wert.
-
Daran lag es nicht, habe ja immer die selben Paramter benutzt. Erster ist 0 und letzter MB_ICONINFORMATION | MB_OK.
-
Du schickst Dir nicht zufällt manchmal ein WM_QUIT oder sowas?
-
Nein, habe keine Messages gesendet, habe auch keine Nachrichtenschleife am Laufen. Ist wirklich nur aus der main-Funktion der MessageBox-Aufruf (Dialog erscheint) und dann nochmal der gleiche Aufruf in einer Library-Funktion (nur Piepton).
Naja, hätte ja sein können, das es ein bekanntes Verhalten in bestimmten Situationen ist. Muß ich mal schauen wo der Wurm drin ist.
-
Füge mal vor dem MessageBox-Aufruf ein
LoadLibrary(_T("Shell32.dll"));
ein.
-
Hallo,
Frage zu dem Posting von sri:
1. Was passiert bei LoadLibrary() bzw. weshalb wird es in diesem Kontext benötigt?
2. Was bedeutet __T()? Bei mir funktioniert es nur, wenn ich nur den String verwende:LoadLibrary("Shell32.dll");
Jens
-
xenayoo schrieb:
1. Was passiert bei LoadLibrary() bzw. weshalb wird es in diesem Kontext benötigt?
2. Was bedeutet __T()? Bei mir funktioniert es nur, wenn ich nur den String verwende:1. http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175(v=vs.85).aspx
2. http://msdn.microsoft.com/de-de/library/dybsewaf(v=vs.80).aspx
-
Ist der erste Parameter auch das Handle für das aufrufende Fenster?
-