HI,
ja manchmal kennt jemand sowas und hat ein zwei Tips. OK. Ich hab den code soweit reduziert, wie's geht, damit's das wesentliche zeigt. Das Verhalten ist geblieben. Nach ein paar Öffnungen von "einstellungen" und "test", öffnet sich das Test-fenster nur blitzartzig und erstellt keinen button; das Einstellungen-fenster funktioniert bisher.
Schonmal Dank für's durchstöbern...
Programm-code:
Code: Alles auswählen
IncludeFile "Hauptdialog-db.pbf";
IncludeFile "Einstellungendialog-db.pbf"
IncludeFile "Testdialog-db.pbf"
OpenWindow_hd_0()
SetGadgetState(Combo_hd_0,0)
AddWindowTimer(Window_hd_0,1,200); für turnusmäßige COM-Abfrage
;***MAIN - Hauptschleife
Repeat
event = WaitWindowEvent()
;***windowevents auswerten
Select EventWindow()
Case Window_e_0 ;einstellungendialog
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case Button_e_0 ;ende
ende_e=1
EndSelect
Case #PB_Event_CloseWindow
ende_e=1
EndSelect
If ende_e =1 ; einstellungen beenden
CloseWindow(Window_e_0)
EndIf
Case Window_t_0;Testdialog
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case Button_t_0 ;ende
ende_t=1
EndSelect
Case #PB_Event_CloseWindow
ende_t=1
EndSelect
If ende_t =1 ; einstellungen beenden
CloseWindow(Window_t_0)
EndIf
Case Window_hd_0 ;hauptdialog
Select event
Case #PB_Event_Gadget ;buttons abfragen
Select EventGadget()
Case Button7_hd_0 ; Test
If IsWindow(Window_t_0)=0
OpenWindow_t_0()
ende_t=0 ;abbruch_variable für einstellungenfenster
EndIf
Case button8_hd_0 ; Einstellungen
If IsWindow(Window_e_0)=0 ; wenn fenster schon offen, nicht nochmal öffnen
OpenWindow_e_0()
ende_e=0 ;abbruch_variable für einstellungenfenster
EndIf
EndSelect
Case #PB_Event_CloseWindow
ende_hd=1
Case #PB_Event_Timer
If EventTimer()=1
;***Datenholen, turnusmäßig
endif
EndSelect
If ende_hd=1 ;ende vorbereitet, jetzt Sicherheitsfenster abfragen
ergebnis=MessageRequester("Beenden?","Möchten Sie ohne Speichern beenden?",#PB_MessageRequester_YesNo)
If ergebnis=#PB_MessageRequester_Yes
ende_hd=2
Else
ende_hd=0
EndIf
EndIf
EndSelect
Until Ende_hd=2 ; wirklich beenden
If IsSerialPort(0): CloseSerialPort(0): EndIf
End
Fenster-code(Einstellungendialog-db.pbf):
Code: Alles auswählen
Global Window_e_0
Global Button_e_0, Texte_0
Procedure OpenWindow_e_0(x = 0, y = 0, width = 616, height = 236)
Window_e_0 = OpenWindow(#PB_Any, x, y, width, height, "v0.5", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Button_e_0 = ButtonGadget(#PB_Any, 532, 199, 70, 30, "Fertig")
Texte_0 = TextGadget(#PB_Any, 190, 10, 100, 20, "Spul:")
EndProcedure
Fenster-code(Testdialog-db.pbf):
Code: Alles auswählen
Global Window_t_0
Global Textt_0, Button_t_0
Procedure OpenWindow_t_0(x = 0, y = 0, width = 600, height = 400)
Window_t_0 = OpenWindow(#PB_Any, x, y, width, height, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Textt_0 = TextGadget(#PB_Any, 220, 190, 100, 25, "Ist noch nicht in Funktion")
Button_t_0 = ButtonGadget(#PB_Any, 502, 359, 70, 30, "Fertig")
EndProcedure
Fenster-code(Hauptdialog-db.pbf):
Code: Alles auswählen
Global Window_hd_0
Global Button1_hd_0, Button7_hd_0, Button8_hd_0
Procedure OpenWindow_hd_0(x = 0, y = 0, width = 795, height = 600)
Window_hd_0 = OpenWindow(#PB_Any, x, y, width, height, "Einstellungen", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Button1_hd_0 = ButtonGadget(#PB_Any, 684, 562, 100, 30, "Ende")
Button7_hd_0 = ButtonGadget(#PB_Any, 684, 529, 100, 30, "Test")
Button8_hd_0 = ButtonGadget(#PB_Any, 378, 562, 100, 30, "Einstellungen")
EndProcedure
_______________
formatiert -- A.