AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MessageDLG rutscht nach hinten!

Ein Thema von Loewentier · begonnen am 6. Dez 2007 · letzter Beitrag vom 4. Jul 2016
Antwort Antwort
Seite 1 von 2  1 2      
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#1

MessageDLG rutscht nach hinten!

  Alt 6. Dez 2007, 11:38
Habe in letzter Zeit massiv ein Problem bei dem Ihr vielleicht helfen könntet!
Jeder kennt die Problem das gerade beim Entwickeln manchmal eine MessageBox nach hinter rutscht....
Normalerweise passiert das beim Anwender selten und ein ALT+TAB hilft hier immer weiter!

In einer neuen Charge von PC's die wir aktuell ausliefern scheint es aber so zu sein, dass Messageboxen ausgelöst von modalen Forms regelmässig im Hintergrund landen und auch so leicht nicht wieder nach vorne zu holen sind...
Die neuen "kartonfrischen" PC's sind scheinbar HP-Compaq Intel-V-pro mit Chipsatz-Graphik und Core 2 CPU
(An sich nichts besonderes! Bei > 50 anderen Installationen hatten wir keine Probleme...)

Denke das es an irgendeiner Windows Einstellung oder einem Windows Hot Fix liegen muss

Hat irgendjemand das gleiche Problem.... oder noch besser eine Idee an welcher Windows Einstellung etc. es liegen könnte

Ach ja:
Miene Applikation läuft mit Delphi 7!
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: MessageDLG rutscht nach hinten!

  Alt 6. Dez 2007, 11:45
Dieses Problem wurde hier schon mal gelöst.
Einfach mal die Suche bemühen...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: MessageDLG rutscht nach hinten!

  Alt 6. Dez 2007, 11:46
Das Problem liegt an dem Aufsatz Windows XP-Theming welches das Fensterhandling geändert hat und damit zu Probleme mit älteren VCL-Implementierungen führt (Aber nicht nur VCL-Anwendungen fallen damit auf die Schnautze).

Evtl. hilft es einfach mal einen aktuellen Grafikkartentreiber zu installieren.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#4

Re: MessageDLG rutscht nach hinten!

  Alt 6. Dez 2007, 12:25
[quote]RavenIV
Stimmt: Bei genauen durchsuchen habe ich z.B. http://www.delphipraxis.net/internal...ght=messagedlg
gefunden was in diese Richtung ging

Glaube aber insgesamt das ich es hier eher mit einem Problem des Graphikkarten Treibers oder einer Windows Einstellung zu tun habe...
Sehr viele Installationen meiner Software laufen problemlos!
  Mit Zitat antworten Zitat
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#5

Re: MessageDLG rutscht nach hinten!

  Alt 13. Dez 2007, 15:09
Hallo Leute!

Bezüglich des Problem mit den MessageBoxen habe ich einige Tests gemacht und folgendes herausgefunden

* Das Problem tritt nur bei Programm Versionen auf die mit Delphi7 kompiliert wurden!
Ältere EXE Versionen die mit Delphi 5 kompiliert wurden sind nicht betroffen

* Wir liefern unsren Kunden schon seit langem dieselben kleinen HP-Compaq Rechner mit vorinstallierten Security suits etc.
Die älteren Chargen machten keine Probleme die neuen Kisten hängen!
(Ein Anruf bei HP brachte keine Klärung: Warteschleife... türkisch klingende Callcenter Dame...
Was wollen Sie kaufen War ja klar!)

Bei den betroffenen Systemen bringt auch die testweise Verwendung von

Delphi-Quellcode:
Application.NormalizeTopMosts; (Neu)
Messagedlg('... !!', mtInformation, [mbOk], 0);
Application.RestoreTopMosts; (Neu)
oder alternativ zu MessageDlg Windows MessageBoxen Application.MessageBox() ... nichts

Das Problem lässt sich meist mit ALT + TAB lösen.... Aber das wissen die wenigsten Leute
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.053 Beiträge
 
Delphi 12 Athens
 
#6

Re: MessageDLG rutscht nach hinten!

  Alt 13. Dez 2007, 15:25
MB_SYSTEMMODAL und MB_TOPMOST sind doch schon recht "radikal", aber ein Versuch ist es vielleicht doch wert?

Du könntest es ja erstmal mit MB_SETFOREGROUND versuchen:
Application.MessageBox('Text', 'Captiion', MB_OK or MB_SETFOREGROUND); Dadurch sollte doch die MessageBox in den Vordergrund wandern?
Zitat von MSDN:
The message box becomes the foreground window. Internally, the system calls the SetForegroundWindow function for the message box.
> MSDN-Library durchsuchenMessageBox


PS: MessageDlg ist so'n delphi-eigenes Ding,
also die VCL baut bei jedem neuem Aufruf ein neues Formular zusammen und verwaltet es selber ... und so einfach läßt sich dort nicht reinpfuschen um das Fenster vorzuholen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: MessageDLG rutscht nach hinten!

  Alt 13. Dez 2007, 18:09
Zitat von Loewentier:
* Das Problem tritt nur bei Programm Versionen auf die mit Delphi7 kompiliert wurden!
Ältere EXE Versionen die mit Delphi 5 kompiliert wurden sind nicht betroffen
Was ist mit neueren Delphi-Versionen? Gibt es da Erkenntnisse?
Ich hab quasi das gleiche Problem mit Delphi 7, hab es aber bis jetzt immer auf meine eigene Dummheit geschoben.
  Mit Zitat antworten Zitat
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#8

Re: MessageDLG rutscht nach hinten!

  Alt 13. Dez 2007, 18:18
Also erstmal DANKE für die Antwort(en)!

Habe versucht mal den Flag SETFOREGROUND auszuprobieren...
Der ist aber scheinbar im Delphi 7 nicht definiert

Was scheinbar das Problem löst ist die Verwendung von
Application.MessageBox('Message', 'Information', MB_ICONINFORMATION or MB_OK or MB_SYSTEMMODAL); Glaube das gab es hier schonmal

=> GMC616
Konnte das ganze nicht unter Delphi2006 etc. verifizieren...
Bei meinen Entwicklungsrechnern hab ich ja das Problem sowieso nicht!

PS: Bei mir haben bisher die Delphi eigenen MessageDLG Boxen immer funktioniert...
Egal Ob W2K oder XP oder Vista! Wieso das jetzt aktuell Ärger macht ist mir schleierhaft
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.053 Beiträge
 
Delphi 12 Athens
 
#9

Re: MessageDLG rutscht nach hinten!

  Alt 13. Dez 2007, 19:17
ups MB_SETFOREGROUND ... fehlte im Code etwas
und definiert ist es in der Unit Windows.

unter MSDN-Library durchsuchenMessageBox kannst du nochmal genau nachlesen was welcher Wert macht.

MB_SETFOREGROUND bringt nur das Fenster, kurz nachdem es erstellt wurde, in den Vordergrund,
wärend MB_SYSTEMMODAL dieses etwas anders (Systemweit) löst ... um MB_SETFOREGROUND nur dein Programm betrifft.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#10

Re: MessageDLG rutscht nach hinten!

  Alt 14. Dez 2007, 17:32
Habe heute die Wirkung der verschiedenen Flags nochmal ausprobiert...
Der FLAG: MB_SETTFOREGROUND bringt bei den betroffen Systemen keine Änderung! (Die Message ist weiter verdeckt!)
Nur mit MB_SYSTEMMODAL kommt die Message nach vorne, liegt aber dann wie in der MSDN beschrieben, (modal) vor allem anderen was sonst noch so auf dem PC läuft!
Ich frage mich nach wie vor was sich bei den betroffenen PC'S im Windows geändert hat...
Wenn es die Auswirkung irgendeines neuen MS-Hotfixes ist, dann gibt das sicherlich noch eine Menge Ärger

DANKE nochmal für eure Antworten...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz