GLBasic forum

Other languages => GLBasic - de => Topic started by: trucidare on 2008-Mar-11

Title: Ich hätt da mal ein Problem...
Post by: trucidare on 2008-Mar-11
und zwar arbeite ich doch gerade an der GUI. Die GuiMain() bildet jedoch eine schleife die alles andere blockiert, dass von GLB kommt. Alles bisher kein Problem. Jedoch benötige ich soetwas wie eine while schleife oder ähnliches, damit ich z. B. Labels mit neuen Werten füllen kann.

Jemand ne Idee?
Title: Ich hätt da mal ein Problem...
Post by: Kitty Hello on 2008-Mar-11
Verstehe das Problem nicht ganz.
Die GuiMain blockiert, aber Du kannst keine "WndProc" oder so angeben?
Title: Ich hätt da mal ein Problem...
Post by: trucidare on 2008-Mar-11
hmm?
Die GuiMain() (gtk_main();) blockiert alles was danach kommt.
d.H. While true : Guimain() : showscreen : wend

würde die gui perfekt anzeigen aber das GLB gui hängt bei Loading...
Title: Ich hätt da mal ein Problem...
Post by: Kitty Hello on 2008-Mar-11
Hmm. Und wenn Du in der gtk_main einen Timer setzt und dort "GLB_Drawscene" aufrufst (CALLBACK) und die so machst, dass der User dort seine Grafiken machen kann? Mit SHOWSCREEN usw?
Title: Ich hätt da mal ein Problem...
Post by: trucidare on 2008-Mar-11
die gtk_main() ist eine gtk interne funktion. die kann ich ohne libhack nich verändern und schon gar nich mit glbasic funktionen aufwerten.
Title: Ich hätt da mal ein Problem...
Post by: Kitty Hello on 2008-Mar-11
ich kapier's immer noc nicht, sorry.
Was willst Du machen?
Title: Ich hätt da mal ein Problem...
Post by: trucidare on 2008-Mar-11
aaaalso:

Code (glbasic) Select
GuiCode....
....
....
while true
      GuiMain()
      Showscreen
wend
GuiEnd()
Nun möchte ich das das label (lblpos) aktualsisiert wird. jedoch hält GuiMain() die while schleife auf. ergo kommt das GLB window nich mal bis zum showscreen.

GuiSetLabelText(lblpos,"text")

die soll alle halbe sekunde ausgeführt werden. ich weiß aber nicht wie da die schleifen alle blockiert sind. (in der GuiMain() (gtk_main()) läuft eine eigene schleife ab).
Title: Ich hätt da mal ein Problem...
Post by: Kitty Hello on 2008-Mar-11
und in gtk_main musst Du ihn dazu bringen einen Timer auszulösen, der wieder zurückspringt oder so...
Title: Ich hätt da mal ein Problem...
Post by: trucidare on 2008-Mar-11
hmm ich kann timer anbieten in gtk... aber ich weiß nich wie die funktionieren sollen
Title: Ich hätt da mal ein Problem...
Post by: Kitty Hello on 2008-Mar-12
Oder - kann GTK threads? Dann lass doch die gtk_Main in einem eigenen Thread laufen.