Gestion des 'thread'

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

Gestion des 'thread'

Message par fd »

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 »

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 »

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.
Répondre