AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein messagebox hinter modularen Fenstern
Thema durchsuchen
Ansicht
Themen-Optionen

messagebox hinter modularen Fenstern

Ein Thema von stalkingwolf · begonnen am 11. Mär 2014 · letzter Beitrag vom 12. Mär 2014
Antwort Antwort
Seite 2 von 2     12   
stalkingwolf

Registriert seit: 6. Mai 2011
518 Beiträge
 
#11

AW: messagebox hinter modularen Fenstern

  Alt 12. Mär 2014, 07:56
Wir werden das nun im Auge behalten. Wirklich reproduziert bekommen wir das allerdings nicht.

Der Hinweis von MainFormOnTaskbar ist interessant im Bezug auf Wine. Weil in Wine haben wir immer 2 Fenster pro Applikation. Beim suchen im Netz würde dies das Verhalten auch erklären.

Wir nutzen (noch) Delphi 6. Wir sind unsere Software auf XE4 am umstellen, aber hier und da gibt es noch ein paar kleine Probleme die gelöst werden müssen.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
677 Beiträge
 
FreePascal / Lazarus
 
#12

AW: messagebox hinter modularen Fenstern

  Alt 12. Mär 2014, 08:02
Das ist bekannt als "ghosting", der mMn praktischste Workaround ist, am Anfang des Codes (dpr, oder initialization einer Unit) MSDN-Library durchsuchenDisableProcessWindowsGhosting aufzurufen:


Delphi-Quellcode:
procedure DisableProcessWindowsGhosting;
var DisableProcessWindowsGhostingImp: procedure;
begin
   {$IFNDEF FPC}
   DisableProcessWindowsGhostingImp :=
      GetProcAddress(GetModuleHandle('user32.dll'),
                     'DisableProcessWindowsGhosting');
   if (@DisableProcessWindowsGhostingImp <> nil) then begin
      DisableProcessWindowsGhostingImp;
   end;
   {$ENDIF FPC}
end;
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
518 Beiträge
 
#13

AW: messagebox hinter modularen Fenstern

  Alt 12. Mär 2014, 08:23
Sich jemand schon einmal das https://groups.google.com/forum/#!to...ng/KiTVAocyDcA
angeschaut.
Normalisierung der Delphi Anwendung?

Das beschrieben Problem was durch ghosting Auftritt kenne ich. Fenster die eigentlich "zu" sein sollten, sind immer noch sichtbar und man bekommt sie auch nicht mehr geschlossen.
Drückt der Anwender auf irgendwelche Buttons, funktioniert das Programm nicht einwandfrei.
Passiert vor allem dann, wenn beim close vom Fenster irgendwas zu lange dauert.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
677 Beiträge
 
FreePascal / Lazarus
 
#14

AW: messagebox hinter modularen Fenstern

  Alt 12. Mär 2014, 09:10
DisableProcessWindowsGhosting hat bei mir definitiv gegen die Dialoge im Hintergrund geholfen, was Du als beschrieben beschreibst kenne ich nun wieder nicht

Diese "Normalisierung" dürfte je nach OS- und Delphi-Version deutlich komplexer sein, als dort beschrieben. Einiges ähnliches habe ich auch schon ausprobiert, dann aber OS-spezifisch unterschiedlich behandeln müssen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: messagebox hinter modularen Fenstern

  Alt 12. Mär 2014, 09:48
DisableProcessWindowsGhosting hat bei mir definitiv gegen die Dialoge im Hintergrund geholfen, was Du als beschrieben beschreibst kenne ich nun wieder nicht
Das bedeutet dann aber auch, daß deine Fenster, bzw. der GUI-Thread, öfter mal hängen, denn ansonsten sollten diese Geister keine Auswirkung haben, da sie nicht erscheinen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:01 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