AGB  ·  Datenschutz  ·  Impressum  







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

MDI Fenster BorderIcons blockieren Anwendung?

Ein Thema von moelski · begonnen am 21. Feb 2009 · letzter Beitrag vom 21. Feb 2009
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

MDI Fenster BorderIcons blockieren Anwendung?

  Alt 21. Feb 2009, 09:52
Moin !

Ich habe hier ne eher einfache MDI Anwendung. Wenn ich bei einem MDI Child einen der BorderIcons (also Minimieren, Maximieren oder Schliessen) mit der Maus gedrückt halte, dann blockt meine ganze Anwendung.

Ich habe da z.B. eine serielle Schnittstelle aktiv. Und wenn ich eben einen der drei Button gedrückt halte dann is Essig. Solange man drückt kommen keine Daten mehr rein. Oder sagen wir mal alles was mit der GUI zutun hat ist dann geblockt.

Ist das so gewollt? Kann man da irgendwas gegen tun?

Es ist sicherlich nicht normal das da jemand so einen Button gedrückt hält (macht ja eigentlich auch keinen Sinn), aber irgendwie ist das schon ein blödes Verhalten finde ich ...
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: MDI Fenster BorderIcons blockieren Anwendung?

  Alt 21. Feb 2009, 10:00
Solange du Komponenten verwendest die von der Message-Queue des Hauptthreades abhängig sind ist das so. Probier mal die Serielle Kommunikation in einen thread zu verlagern
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#3

Re: MDI Fenster BorderIcons blockieren Anwendung?

  Alt 21. Feb 2009, 10:05
Moin !

Die Schnittstelle läuft schon selber als Thread.

Hmm warum aber kann man dann einen normalen Button gedrückt halten und da geht es? Läuft das nicht auch im Hauptthread?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: MDI Fenster BorderIcons blockieren Anwendung?

  Alt 21. Feb 2009, 10:09
In borland.public.delphi.winapi hat Peter Below (TeamB) mal folgende Erklärung geschrieben:

Zitat:
If you hold down the mouse on the caption bar or drop down a menu Windows goes into a tight message loop of
its own that only processes mouse messages. This loop runs until the mouse
goes up again, so any processing that depends on the main message loop will
stop while the mouse is down. You get informed when such a loop is entered
or terminated by messages Windows sends to your form: WM_ENTERMENULOOP,
WM_EXITMENULOOP, WM_ENTERSIZEMOVE, WM_EXITSIZEMOVE. I think you could
cancel the operation by sending a WM_CANCELMODE to the form in response to
the WM_ENTER* messages but that will impact the corresponding functions of
your application. Mouse down events on the non-client area can also be
trapped by handing messages like WM_NCLBUTTONDOWN and not passing them on
to the inherited handler while your app is in a sensitive state.
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:30 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