Fehler im Code
Verfasst: 25.09.2013 13:47
Hallo alle miteinander,
ich hab mir mit dem Formdesigner drei Fenster erstellt, diese verbinde ich in einer Datei zu dem untenstehenden Code, ich möchte in Fenster in dem es mehrer Buttons gibt. Wird einer der Knöpfe gedrückt soll sich ein Fenster öffnen. Die Fenster zwei und drei bekommen unterschiedliche Nummern, solange ich diese gleichzeitig geöffnet habe.
Mein Problem ist das wenn ich Fenster zwei öffne und schließe und anschließend Fenster drei öffne bekommt es die selbe Nummer zugewiesen wie Fenster zwei. Füge ich ein window_x = 0 hinter closeWindow(Window_x) geht es auch wieder.
Danke und Gruß
Dietmar
ich hab mir mit dem Formdesigner drei Fenster erstellt, diese verbinde ich in einer Datei zu dem untenstehenden Code, ich möchte in Fenster in dem es mehrer Buttons gibt. Wird einer der Knöpfe gedrückt soll sich ein Fenster öffnen. Die Fenster zwei und drei bekommen unterschiedliche Nummern, solange ich diese gleichzeitig geöffnet habe.
Mein Problem ist das wenn ich Fenster zwei öffne und schließe und anschließend Fenster drei öffne bekommt es die selbe Nummer zugewiesen wie Fenster zwei. Füge ich ein window_x = 0 hinter closeWindow(Window_x) geht es auch wieder.
Code: Alles auswählen
Global Window_1, Window_2, Window_3
Global Button_0, Button_1
Procedure OpenWindow_1(x = 0, y = 0, width = 600, height = 400)
Window_1 = OpenWindow(#PB_Any, x, y, width, height, "Fenster_1", #PB_Window_SystemMenu)
Button_0 = ButtonGadget(#PB_Any, 20, 10, 100, 25, "Fenster_2")
Button_1 = ButtonGadget(#PB_Any, 20, 50, 100, 25, "Fenster_3")
EndProcedure
Procedure OpenWindow_2(x = 0, y = 0, width = 600, height = 400)
Window_2 = OpenWindow(#PB_Any, x, y, width, height, "Fenster_2", #PB_Window_SystemMenu)
EndProcedure
Procedure OpenWindow_3(x = 0, y = 0, width = 600, height = 400)
Window_3 = OpenWindow(#PB_Any, x, y, width, height, "Fenster_3", #PB_Window_SystemMenu)
EndProcedure
openwindow_1()
Procedure Hauptschleife (Event)
Debug "Fenster 1: " + Window_1
Debug "Fenster 2: " + Window_2
Debug "Fenster 3: " + Window_3
Select EventWindow()
Case Window_1
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case Button_0
OpenWindow_2()
Case Button_1
OpenWindow_3()
EndSelect
Case #PB_Event_CloseWindow
CloseWindow(Window_1)
window_1 = 0
Exit = #True
EndSelect
Case Window_2
Select event
Case #PB_Event_CloseWindow
CloseWindow(Window_2)
EndSelect
Case Window_3
Select event
Case #PB_Event_CloseWindow
CloseWindow(Window_3)
EndSelect
EndSelect
ProcedureReturn Exit
EndProcedure
Exit = #False
Repeat
Exit = Hauptschleife(WaitWindowEvent())
Until Exit = #True
End
Dietmar