| |
|
|
Nico Madysa | Mir ist bereits chez XProfan9 un faute aufgefallen, den je ici eh bien la fois montrer veux. Ausgangspunkt ist cette Minimalcode. KompilierenMarqueSéparationdeclare but& , dlg& , e%
WindowStyle 26
Window 100 , 100 - 200 , 200
cls External("User32","GetSysColor",15)
but& = Create("Button",%hWnd,"Dialog",5,5,100,25)
whilenot %Key = 2
waitinput
if Clicked(but&)
dlg& = Create("Dialog",%hWnd,"DER Dialog",5,5,100,300)
clear e%
whilenot e%
waitinput
if %Key = 2
inc e%
endif
wend
DestroyWindow(dlg&)
endif
wend
end
si on sur den Button den Dialog ouvrez et cette anschließend sur cela [X] wird cela Hauptfenster aussi geschlossen. et cela quoique 1.) cela Hauptfenster keinen Dialogfenster-Stil hat. 2.) %Key pour dem auslesen doch zurück gesetzt volonté sollt.
Hat quelqu'un ne Solution? |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Sebastian König | Salut,
dans meinen Augen ist cela eigentlich ne...aucune faute, car qui äußere Boucle ist oui comme
Whilenot %Key = 2
défini. Pour dem Klick sur cela X im Dialog ist mais %clé = 2 gegeben et qui Boucle wird sortir de. ca liegt daran, dass %clé pas beim Lecture zurückgesetzt wird, mais seulement par une WaitInput/-Key/-Scan ou bien GetMessage-Befehl.
une simple Solution wäre, aussi pour qui äußere Boucle une ende%-Variable trop benutzen et cet z.B. avec cas %clé = 2: ende% = 1 pour dem WaitInput dans qui äußeren Boucle trop mettons.
MfG
Sebastian |
|
|
| |
|
|
|
Nico Madysa | avec qui Hilfsvariablen habe ego déjà probeirt, klappt pas, là %Key beim Lecture plan pas zurück gesetzt wird. mais si je deine erste Aussage richtig verstanden habe, würde´ KompilierenMarqueSéparation marcher, là cela Waitinput qui ersten Boucle am Ende ist et %Key daher avant dessen Abfrage encore récente eingestellt volonté serait. merci pour qui Aider.
@iF: je versteh cet Dulcoif pas, quoi soll cela car bedeuten? |
|
|
| |
|
|
|
Michael Wodrich | [quote-part:0a67fc8c6a]@iF: je versteh cet Dulcoif pas, quoi soll cela car bedeuten?[/quote-part:0a67fc8c6a] Pour cette sollte on qui cherche bemühen et sich den ganzen Fil durchlesen.
cela DulcoIf sollte verabreicht volonté um dem kränkelnden Message-Handling sur qui Sprünge trop aider...
belle Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 27.06.2006 ▲ |
|
|
|
|
Sebastian König | [quote-part:e7e4a282c6]mais si je deine erste Aussage richtig verstanden habe, würde´ [...] marcher, là cela Waitinput qui ersten Boucle am Ende ist et %Key daher avant dessen Abfrage encore récente eingestellt volonté serait.[/quote-part:e7e4a282c6] c'est pas entier, quoi je meinte, mais es funktioniert réellement . cela WaitInput _nach_ qui inneren Boucle mets %clé zurück et seulement ensuite wieder sur 2, si cela X im Hauptfenster angeklickt wird.
So entier joli finde je cela avec dem WaitInput am Ende qui Boucle allerdings pas... Wahrscheinlich ca va dans den meisten Fällen bien, mais je serait es à den Anfang mettons, avec cela on pas womöglich dans irgendeinem undefinierten Zustand startet et peut-être Aktionen sans Eingabe fonctionnement volonté (pourrait dans einer komplizierteren Boucle oui durchaus son, denke je).
ici fois le variante avec 2 separaten Ende-Variablen, à qui je gedacht hatte: KompilierenMarqueSéparationDeclare But& , Dlg& , E1%, E2%
Windowstyle 26+512
Window 100 , 100 - 200 , 200
Cls External("User32","GetSysColor",15)
But& = Create("Button",%Hwnd,"Dialog",5,5,100,25)
Whilenot E1%
Waitinput
case %key = 2 : E1% = 1 war fälschlicherweise erst E1% = 0
If Clicked(But&)
Dlg& = Create("Dialog",%Hwnd,"DER Dialog",5,5,100,300)
Clear E2%
Whilenot E2%
Waitinput
If %Key = 2
Inc E2%
Endif
Wend
Destroywindow(Dlg&)
Endif
Wend
Fin
MfG
Sebastian |
|
|
| |
|
|
|
Nico Madysa | voilà, glaube je, un kleiner faute: quoi passiert, si je cela Hauptfenster(avec Dialog-Stil) schließen veux, sans qui Dialog-Box aufzurufen? là wird E1% oui sur 0 gesetzt, fonctionne alors plus. à cause de dem undefiniertem Zustand chez einem nachgestellten Waitinput: on pourrait aussi une Repeat-Until-Boucle comme Hauptschleife nehmen; ou bien on pouvoir avant qui Hauptschleife NOCH un Waitinput, ensuite devrait qui l'affaire marcher. |
|
|
| |
|
|
|
Sebastian König | [quote-part:7a4701bab3]voilà, glaube je, un kleiner faute: quoi passiert, si je cela Hauptfenster(avec Dialog-Stil) schließen veux, sans qui Dialog-Box aufzurufen? là wird E1% oui sur 0 gesetzt, fonctionne alors plus. (...)[/quote-part:7a4701bab3] Ups - sorry!! je hatte chez qui äußeren Boucle falschrum gedacht, alors à Tandis que E1% ... Richtig wäre naturellement: Cas %Key = 2 : E1% = 1 - je ändere cela dans dem Code dessus juste la fois
maintenant devrait mais alles dans Ordre son - habe es jedenfalls justement erfolgreich getestet - aussi avec Stil 512...
MfG
Sebastian |
|
|
| |
|
|
|
Nico Madysa | OK, merci pour qui Aider! |
|
|
| |
|
|