Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   [nonVCL] Endlosschleife mit 2 Fenstern (https://www.delphipraxis.net/172689-%5Bnonvcl%5D-endlosschleife-mit-2-fenstern.html)

EWeiss 17. Jan 2013 14:10

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Zitat:

Zitat von lbccaleb (Beitrag 1199445)
Vielen Dank!

Ich war immer in dem Glauben das ich für jedes Fenster nen eigenen Message Handler brauche. Da hab ich mich wohl kräftig geirrt :shock:
Ist aufjedenfall abgespeichert ;)

Hab meinen Beitrag nochmal editiert
http://www.delphipraxis.net/1199436-post7.html

gruss

Luckie 17. Jan 2013 21:47

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Guck mal hier: http://michael-puff.de/Programmierung/Delphi/Tutorials/ -> Win32API_Delphi

lbccaleb 17. Jan 2013 22:03

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Zitat:

Zitat von Luckie (Beitrag 1199503)

Vielen Dank. Aber ich kenne deine Tutorials. Die wirklich klasse sind, danke dafür :thumb:

Das lag bei mir wohl eher am nicht wissen durch "hat vorher perfekt funktioniert" :lol:
Naja und dadurch hab ich mir nie nen Kopf drüber gemacht, wie es anders sein sollte..
Bis Heute! Aber man lernt nie aus und nun sollte ich es verstanden haben :)

Luckie 18. Jan 2013 12:45

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Also pro Fenster eine Nachrichtenschleife ist nicht verkehrt. Weil die Nachrichten der Kind-Fenster an das übergeordnete Fenster weitergereicht werden. Ein Klick auf eine Schaltfläche in Fenster 2 geht auch an das Fenster 2 und sollte da behandelt werden.

EWeiss 18. Jan 2013 12:49

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Zitat:

Zitat von Luckie (Beitrag 1199584)
Also pro Fenster eine Nachrichtenschleife ist nicht verkehrt. Weil die Nachrichten der Kind-Fenster an das übergeordnete Fenster weitergereicht werden. Ein Klick auf eine Schaltfläche in Fenster 2 geht auch an das Fenster 2 und sollte da behandelt werden.

Aber unnötig bei einem Thread.

Zitat:

The GetMessage function retrieves messages associated with the window identified by the hWnd parameter or any of its children, as specified by the IsChild function, and within the range of message values given by the wMsgFilterMin and wMsgFilterMax parameters. Note that an application can only use the low word in the wMsgFilterMin and wMsgFilterMax parameters; the high word is reserved for the system.

gruss

Luckie 18. Jan 2013 13:02

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
OK, aber bei mir hat jedes Fenster seine eigen Fensterprozedur, der Übersichtlichkeit halber, und dazu gehört für mich eben auch jeweils eine Nachrichtenschleife.

EWeiss 18. Jan 2013 13:18

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Zitat:

Zitat von Luckie (Beitrag 1199592)
OK, aber bei mir hat jedes Fenster seine eigen Fensterprozedur, der Übersichtlichkeit halber, und dazu gehört für mich eben auch jeweils eine Nachrichtenschleife.

Das kann dann aber zu dem im ersten Beitrag aufgeführten problemen führen.

Selbst wenn du im zweiten Dialog einen Extra Handler hast werden die Messagen an dem Handler der Anwendung weitergeleitet denn dieser ist für
den aktuellen Thread maßgeblich.
Oder warum sonst gibt es hier in diesem Fall einen Endlos Loop? Nach dem schließen der Mainform.

Also doppelt gemoppelt.

Aber wie gesagt jeder wie er will..

gruss

lbccaleb 18. Jan 2013 13:31

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Das hört sich allerdings logisch an, was Emil da sagt.
Es gab mit mehreren Message Handlern ausserdem Probleme mit WM_KEYDOWN.
Dann hat nämlich die Form die Pfeiltasten sowie die Entertaste nicht erkannt.

Mit nur einer Schleife läuft das jetzt aber ohne Probleme.

Luckie 18. Jan 2013 13:35

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Also bei mir hat es ohne Probleme so geklappt, wenn ich mich recht erinne.

EWeiss 18. Jan 2013 13:36

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Zitat:

Zitat von lbccaleb (Beitrag 1199605)
Das hört sich allerdings logisch an, was Emil da sagt.
Es gab mit mehreren Message Handlern ausserdem Probleme mit WM_KEYDOWN.
Dann hat nämlich die Form die Pfeiltasten sowie die Entertaste nicht erkannt.

Mit nur einer Schleife läuft das jetzt aber ohne Probleme.

Es ist/sollte auch nicht die regel sein die WinMessagen innerhalb eines Message handler zu breaken..
Wieviele sollte man dann innerhalb des 2 Handlers umbiegen?
Das ist nicht der sinn eines Messagehandlers wenn man hier messagen außen vor läßt.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 Uhr.
Seite 2 von 3     12 3      

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