Fehler beim öffnen eines neuen Fenster

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Fehler beim öffnen eines neuen Fenster

Beitrag 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 :-)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Oh, hellsehen gefragt :mrgreen:
Ich nehme mal an, das beim 2.ten CreateGadgetList() die falsche ID
übergeben wird?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

hmm leider nicht, die creategadgetlist(windowid()) scheint mir richtig...

Lg
Chris
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Du willst das Ratespiel anscheinend fortsetzen, aber ohne mich. Hab meine
Glaskugel wieder zurückgegeben. :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

code`?
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Wenn du mehrere Fenster hast hast du auch immer eine unterschiedliche windowid() bei Creategadgetlist()
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag 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 :-)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag 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
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag 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
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten