Fenster und Hauptschleife im Modul

Für allgemeine Fragen zur Programmierung mit PureBasic.
SBond
Beiträge: 266
Registriert: 22.05.2013 20:35

Fenster und Hauptschleife im Modul

Beitrag von SBond »

Hallo Leute,

ich habe nur mal eine allgemeine Frage...
Kann es zu Problemen führen, wenn ich mein Hauptfenster und die Hauptschleife in einem Modul laufen lasse?

...also so etwas:

Code: Alles auswählen

DeclareModule Main
	; noch nichts
EndDeclareModule

Module Main
	GUI = OpenWindow(0,100,100,200,200,"my pointless GUI")
	Repeat:Until WaitWindowEvent(50) = #PB_Event_CloseWindow
EndModule

Durch diese Aktion erhoffe ich mir einen einfacheren Datenaustausch zwischen den Modulen. Ich habe leider keine Ahnung, wie man (globale) Prozeduren aufruft, die sich außerhalb eines Moduls befinden.

viele Grüße,
SBond
41 6c 73 6f 20 77 65 6e 6e 20 64 75 20 73 6f 20 76 69 65 6c 20 4c 61 6e 67 65 77 65 69 6c 65 20 68 61 73 74 2c 20 64 61 6e 6e 20 6b 61 6e 6e 73 74 20 64 75 20 61 75 63 68 20 67 6c 65 69 63 68 20 7a 75 20 6d 69 72 20 6b 6f 6d 6d 65 6e 20 75 6e 64 20 61 62 77 61 73 63 68 65 6e 2e

:D
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8837
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Fenster und Hauptschleife im Modul

Beitrag von NicTheQuick »

Du kannst dann jedenfalls nicht mit einem weiteren Modul noch ein Fenster öffnen mit einer eigenen Ereignisschleife. Es geht immer nur eine gemeinsame Ereignisschleife. Auch Threads helfen hier nicht weiter, weil Events immer im Hauptprozess abgearbeitet werden müssen.

Deswegen wird empfohlen hier 'BindGadgetEvent()' und 'BindEvent()' zu benutzen. Siehe auch mein Video dazu mit einem Beispiel: [PB] HowTo: CanvasWindow (Teil 1/2)
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

Re: Fenster und Hauptschleife im Modul

Beitrag von ts-soft »

Das kannste doch ganz anders machen.

Code: Alles auswählen

DeclareModule Main
  EnableExplicit
  
  Enumeration Gadgets
    #gad1
    #gad2
  EndEnumeration
  
  Global bla.i
  
  ;usw
EndDeclareModule

Module Main
EndModule

UseModule Main

; ....
Jetzt kannste das Module überall laden, auch im Maincode!
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
SBond
Beiträge: 266
Registriert: 22.05.2013 20:35

Re: Fenster und Hauptschleife im Modul

Beitrag von SBond »

:mrgreen:

ja, das ist natürlich eine wesentlich bessere Variante.
Danke euch beiden :D


@NicTheQuick: noch viel Erfolg mit dem Quadcopter :)
41 6c 73 6f 20 77 65 6e 6e 20 64 75 20 73 6f 20 76 69 65 6c 20 4c 61 6e 67 65 77 65 69 6c 65 20 68 61 73 74 2c 20 64 61 6e 6e 20 6b 61 6e 6e 73 74 20 64 75 20 61 75 63 68 20 67 6c 65 69 63 68 20 7a 75 20 6d 69 72 20 6b 6f 6d 6d 65 6e 20 75 6e 64 20 61 62 77 61 73 63 68 65 6e 2e

:D
Antworten