Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
fd
Messages : 70 Inscription : mar. 15/mars/2005 21:41
Localisation : Savoie
Message
par fd » lun. 06/oct./2008 13:55
Bonjour,
Je voudrais charger des structures à partir d'une base de donnée. Or un écran blanc s'affiche pendant le chargement. J'ai donc essayer les 'thread' en ajoutant une window_1 qui correspond uniquement à un message d'attente (je voudrais dans un second temps y ajouter une progressbar).
Par contre ce code ne fonctionne pas ... je ne comprends pas bien pourquoi. Si quelqu'un a une idée je suis preneur. Merci.
Code : Tout sélectionner
Procedure ProcThread(Param)
Chargement_Libelle()
Combo_CR()
Combo_UF()
Combo_Fonc()
AgentSql()
BudgetSql()
EndProcedure
OpenWindow_Window_0()
SetWindowState(#Window_0, #PB_Window_Maximize)
OpenWindow_Window_1()
ThreadID = CreateThread(@ProcThread(),0)
Repeat
Until IsThread(ThreadID) = 0
;KillThread(ThreadID)
CloseWindow(#Window_1)
Stefou
Messages : 234 Inscription : jeu. 18/janv./2007 14:08
Message
par Stefou » lun. 06/oct./2008 19:41
salut fd
voici, je l'espère de quoi te faire avancer.
Bon courage...
Code : Tout sélectionner
Procedure ProcThread(Param)
For i=1 To 100
Delay(100)
SetGadgetText(1,Str(i))
Next
EndProcedure
OpenWindow(0,0,0,200,200,"test thread",#PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
TextGadget(1,10,10,200,20,"thread")
ThreadID = CreateThread(@ProcThread(),0)
Repeat
WindowEvent()
Delay(5)
Until IsThread(ThreadID) = 0
;KillThread(ThreadID)
cha0s
Messages : 681 Inscription : sam. 05/mars/2005 16:09
Message
par cha0s » lun. 06/oct./2008 19:55
reste a vérifier mais il me semble que l'on ne puisse agir sur la fenêtre dans le thread a moins de la créer dans ce dernier.