Seite 1 von 2
Fehler beim öffnen eines neuen Fenster
Verfasst: 15.03.2006 16:09
von winduff
Guten Morgen... ne mittag
Mein Problem ist das folgende... Wenn ich ein neues Fenster öffnen lasse, bleibt das ursprungsfenster zwar offen (wie ich es auch will) aber es verliert alle gadgets.... ich weis nicht warum, ist sehr komisch.
Ein Fenster, dass kleiner ist als das Hauptfenster öffnet sich ohne probleme und das Hauptfenster nimmt keine wirkung
Aber bei 2 anderen Fenster, die größer sind als das Hauptfenster, verschwindet wie gesagt der Inhalt des Hauptfensters (Hauptfenster = erstes fenster)
ich benutze PB4
Dankeschön im Vorraus

Verfasst: 15.03.2006 16:25
von ts-soft
Oh, hellsehen gefragt
Ich nehme mal an, das beim 2.ten CreateGadgetList() die falsche ID
übergeben wird?
Verfasst: 15.03.2006 16:41
von winduff
hmm leider nicht, die creategadgetlist(windowid()) scheint mir richtig...
Lg
Chris
Verfasst: 15.03.2006 16:44
von ts-soft
Du willst das Ratespiel anscheinend fortsetzen, aber ohne mich. Hab meine
Glaskugel wieder zurückgegeben.

Verfasst: 15.03.2006 16:45
von 125
code`?
Verfasst: 15.03.2006 16:46
von roherter
Wenn du mehrere Fenster hast hast du auch immer eine unterschiedliche windowid() bei Creategadgetlist()
Verfasst: 15.03.2006 16:48
von winduff
sorry fürs ratespiel :-P
öhm der code ist riesig.... ich poste mal ein bisschen, vllt hilfts weiter:
Code: Alles auswählen
Procedure Open_adduser()
If OpenWindow(#adduser, 557, 243, 171, 254, "Neuer Ripper" , #PB_Window_SystemMenu | #PB_Window_TitleBar |#PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#adduser))
.........
EndIf
EndIf
EndProcedure
funktioniert, aber:
Code: Alles auswählen
Procedure Open_optionswin()
If OpenWindow(#optionswin, 387, 222, 498, 271, "Optionen",#PB_Window_SystemMenu | #PB_Window_TitleBar)
If CreateGadgetList(WindowID(#optionswin))
........
EndIf
EndIf
EndProcedure
geht nicht...
Hoffe das ist so besser

Verfasst: 15.03.2006 16:59
von ts-soft
Was soll daran besser sein? Wir brauchen den Teil wo der Fehler Auftritt!
Code: Alles auswählen
Procedure Open_adduser()
If OpenWindow(0, 557, 243, 171, 254, "Neuer Ripper" , #PB_Window_SystemMenu | #PB_Window_TitleBar |#PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(0))
ButtonGadget(0,10,10,50,25,"0")
EndIf
EndIf
EndProcedure
Procedure Open_optionswin()
If OpenWindow(1, 387, 222, 498, 271, "Optionen",#PB_Window_SystemMenu | #PB_Window_TitleBar)
If CreateGadgetList(WindowID(1))
ButtonGadget(1,10,10,50,25,"1")
EndIf
EndIf
EndProcedure
Open_adduser()
Open_optionswin()
Repeat
event = WaitWindowEvent()
window = EventWindow()
gadget = EventGadget()
Select event
Case #PB_Event_CloseWindow
Select window
Case 0 : Break
Case 1 : CloseWindow(1)
EndSelect
Case #PB_Event_Gadget
Select gadget
Case 0 : Debug "Button in Fenster 0"
Case 1 : Debug "Button in Fenster 1"
EndSelect
EndSelect
ForEver
Funktioniert einwandfrei

Verfasst: 15.03.2006 17:10
von winduff
öhm ja... wie soll ich den fehler im code finden wenn der debugger keine fehler erkennt? :-/
Ich bin den code durchgegangen (alles mit gui) und finde keine fehler... das ist irgendwie total vermischt, wenn ich mal bisl rumschraube dann mischt sich die GUI vom Fenster #2 in Fenster #1 ^^
Irgendwo hab ich nen riesigen haken drin lol
Verfasst: 15.03.2006 17:15
von bobobo
Der Debugger findet keine Fehler weil vermutlich gar keine drin sind.
Wie so häufig sitzt der Fehler vor dem Bildschirm
Check mal die WertZuordnung der Konsten #optwin und #adduser und so