Seite 1 von 1

Fenster und Hauptschleife im Modul

Verfasst: 01.08.2014 00:16
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

Re: Fenster und Hauptschleife im Modul

Verfasst: 01.08.2014 00:25
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)

Re: Fenster und Hauptschleife im Modul

Verfasst: 01.08.2014 00:26
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!

Re: Fenster und Hauptschleife im Modul

Verfasst: 01.08.2014 00:38
von SBond
:mrgreen:

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


@NicTheQuick: noch viel Erfolg mit dem Quadcopter :)