was läuft hier schief?

Anfängerfragen zum Programmieren mit PureBasic.
hiltwin
Beiträge: 311
Registriert: 06.10.2005 11:08
Wohnort: D-31177 Harsum
Kontaktdaten:

Beitrag von hiltwin »

jau - mit gosub klappts auch 8)

vielen dank für den frühmorgendlichen support. sollte ich mal wieder in berlin sein, geb ich gerne einen aus!
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 »

Klar, Bild
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
hiltwin
Beiträge: 311
Registriert: 06.10.2005 11:08
Wohnort: D-31177 Harsum
Kontaktdaten:

Beitrag von hiltwin »

:allright: :allright: :allright:

Hab mich schon gewundert, warum die Antwort so lange dauerte ;o)

So, ich werd gleich mal noch nen bisschen weiter coden und dann ins bettchen ...

junior ist auch gerade wach geworden ;o(
hiltwin
Beiträge: 311
Registriert: 06.10.2005 11:08
Wohnort: D-31177 Harsum
Kontaktdaten:

Beitrag von hiltwin »

ts-soft hat geschrieben:

Code: Alles auswählen

#FensterHaupt = 0
#FensterUnter = 1

If OpenWindow(#FensterHaupt, 0,0,200,200,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"HauptFenster") = #False : End : EndIf

If OpenWindow(#FensterUnter, 0,0,100,100,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"UnterFenster", WindowID(#fensterhaupt)) = #False : End : EndIf
; bla bla
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      If EventWindowID() = #FensterHaupt
        Quit = 1
      ElseIf EventWindowID() = #FensterUnter
        CloseWindow(#FensterUnter)
      EndIf
  EndSelect
Until Quit = 1
So schlimm ist das nicht :)
CPC 464?
Hallo Thomas,
ich hatte mit dem Haupt/Unterfenster noch ein Problem. Zeilenbewusst wie ich bin, wollt ich die Unterfensterfunktion in eine Prozedur/gosub-Routine ausgliedern und vorab #FensterHaupt ermitteln lassen und dann mit übergeben, da ich die Routine von mehreren Fenstern aus aufrufen lassen wollte. Und das funktionierte allerdings dann nur vom ersten Hauptfenster aus, beim Aufruf aus einem anderen Fenster heraus.

EDIT: Beim nachträglichen Lesen des Beitrags könnte es sein, dass ich #FensterHaupt nicht mit an die Prozedur übergeben habe. Allerdings hat es über ein Gosub-Routine auch nicht funktioniert. Als Fehlermeldung kam dann immer, das in der Zeile, wo das Fenster als Unterfenster öffnen nicht steht, etwas nicht intialisiert gewesen sei.

Hab es nun mit zwei Gosub-Routinen gelöst, ist ja nicht viel Zeilenaufwand.

und auf die Frage, die ich überlesen hatte ;o)

Nicht 464, sondern 664 ... und dann noch CPC6128, wobei ich dort den doppelten Speicher nie richtig auszunutzen wusste ...
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 »

Das zweite Fenster wird ja als Child des Ersten erstellt, deswegen der letzte
Parameter bei OpenWindow.
Denn kannste aber auch weglassen, aber in der Ereignisschleife immer
unterscheiden, welches Fenster löst das Ereignis aus!
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
Antworten