Wenn ich auf den Button_1 drücke soll eine Messagebox aufgehen und bei Button_ 2 ein neues Fenster. Unter PB3.94 hat das funktioniert. Nach umschreiben auf PB4.0 gklappt es irgendwie nicht. Aber warum? Ich finde den Fehler nicht.
Hier der Code.
Code: Alles auswählen
;- Window Constants
Enumeration
#Window_0
#Window_1
#Window_2
#Window_3
#Button_0
#Button_1
#CheckBox_0
#CheckBox_1
EndEnumeration
;--------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------
Procedure Open_Window_0()
If OpenWindow(#Window_0, 0, 0, 270, 130, "CheckBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
WindowID = WindowID(#Window_0)
If CreateGadgetList(WindowID) ; die Gadgetliste wurde erfolgreich erstellt
ButtonGadget(0, 10, 10, 200, 20, "Button_0", #PB_Button_Right)
ButtonGadget(1, 10, 40, 200, 20, "Button_1")
ButtonGadget(2, 10, 70, 200, 20, "Button_2")
Else ; die Gadgetliste konnte nicht erstellt werden
; Zeigen Sie hier eine Fehlermeldung an, beenden Sie das Programm etc...
EndIf
EndIf
EndProcedure
;-----------------------------------------------------------------------------------------------------------------------
Procedure Open_Window_1()
If OpenWindow(Window_1, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
If CreateGadgetList(WindowID)
EndIf
EndIf
EndProcedure
Procedure Open_Window_3()
If OpenWindow(Window_3, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
If CreateGadgetList(WindowID)
EndIf
EndIf
EndProcedure
DataSection
GrundWerte:;0 1 2 3 4 5 6 7 8 9
Data.s "10:00","19:00", "12:00","13:00", "16:00","18:30", "19:30","20:30", "10:30","22:30"
EndDataSection
;--------------------------------------------
IncludeFile "LeerMultiWindowCommon.pb"
;------------------------------------------Definition erforderlicher Felder-------------------------------------------------------------
Open_Window_0()
;--------------------------Event Schleife-------------------------------------------------------------Repeat ; Start of the event loop
Repeat
EventID=WindowEvent() ; This line waits until an event is received from Windows
WinID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID= EventGadget()
Select EventID
Case #PB_Event_CloseWindow
Select WinID
;---------------------------------Verwaltung der vorhandenen Windows-------------------------------------------------------------------
Case #Window_0
CloseWindow(#Window_0)
End
Case #Window_1
CloseWindow(#Window_1)
Open_Window_0()
Case #Window_2
CloseWindow(#Window_2)
Case #Window_3
CloseWindow(#Window_3)
EndSelect
;---------------------------------Abfrage vorhandener Button und Checkboxen-----------------------------------------------------------------------
Case #PB_Event_Gadget
Select GadgetID
Case #Button_0
MessageRequester("Test","Button_1 wurde gedrückt",0)
Case #Button_1
MessageRequester("Test","Button_2 wurde gedrückt",0)
Open_Window_1()
Case #CheckBox_0
If GetGadgetState(#CheckBox_0) = 1
MessageRequester("ttt","tt",0)
; ;a = Relaisstellung()
; CallFunctionFast(AdrPortOut, PortNum,a) ; write 80h to port 378h
Else
; ;a = Relaisstellung()
; CallFunctionFast(AdrPortOut, PortNum,a)
EndIf
Case #CheckBox_1
If GetGadgetState(#CheckBox_1) = 1
; ;a = Relaisstellung()
; CallFunctionFast(AdrPortOut, PortNum,a) ; write 80h to port 378h
Else
; ;a = Relaisstellung()
; CallFunctionFast(AdrPortOut, PortNum,a)
EndIf
EndSelect
EndSelect
;---------------------------------------------Aufruf der Funktionen Messen und Schalten------------------------------------------------
Delay(1)
Until WaitWindowEvent() = #PB_Event_CloseWindow
;---------------------------------------------Datenbereich für die Initialisierung------------------------------------------------------