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 :mrgreen:
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. :mrgreen:

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 :mrgreen:

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