Ich hätt da mal ein Problem...

Previous topic - Next topic

trucidare

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?
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

Verstehe das Problem nicht ganz.
Die GuiMain blockiert, aber Du kannst keine "WndProc" oder so angeben?

trucidare

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...
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

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?

trucidare

die gtk_main() ist eine gtk interne funktion. die kann ich ohne libhack nich verändern und schon gar nich mit glbasic funktionen aufwerten.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

ich kapier's immer noc nicht, sorry.
Was willst Du machen?

trucidare

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).
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

und in gtk_main musst Du ihn dazu bringen einen Timer auszulösen, der wieder zurückspringt oder so...

trucidare

hmm ich kann timer anbieten in gtk... aber ich weiß nich wie die funktionieren sollen
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

Oder - kann GTK threads? Dann lass doch die gtk_Main in einem eigenen Thread laufen.