Creation de gadgets dans des Thread

Archive.
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Creation de gadgets dans des Thread

Message par lionel_om »

Ya des bugs dans PureBasic lors de la création d'un gadget / Window / etc. dans un Thread. Si la feneêtre a été créée dans le processus principal, on peut pas lui ajouter des gadgets dans un Thread... :?

Exemple (non testé)

Code : Tout sélectionner

Procedure AddButton(hWnd.l)
  ButtonGadget(0, 10, 10, 80, 20, "Coucou")
Endprocedure

opt.l = je ne sais plus koi ...
hWnd = OpenWindow(0, 0, 0, 200, 200, opt, "Fenetre")
CreateGadgetList(WindowiD())

CreateThread(@AddButton(), hWnd)
Delay(2000)
Repeat

Until WaitWindowEvent() = #PB_Event_CloseWindow
La fenêtre doit être vide, ce qui ne devrait pas être le cas...
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

c'est pas purebasic, c'est windows (vu dans je ne sais quel topic)
tu auras le même problème si tu essayes de récupérer les évennements d'une fenetre dans un thread différent de celui qui l'a créée

Dri
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

mieux vaut utiliser les Threads pour faire executer
des routines, plutot que de les utilisers pour gerer le system

pour ma part je pense qu'elles ont ete crée pour ça en purebasic ...

par contre , je suis pas sur que ce ne soit pas faisable dans un autre language ,(C++ C#) a voir ... :)
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Oui j'ai vu ce topic, mais je ne le retrouvé pas...

J'utilisé un Thread car je construisé dynamiquement ma fenêtre(PanelGadget) où j'ajouté mes gadgets en fonctions de mon thread et comme j'utilisé également des ListIconGadget avec énormément d'items à ajouter, je voulais les ajouter depuis un Thread. Mais j'avais trouvé un système pour synchronizer mes Threads et créer les gadgets depuis le mainThread.

Merci pour vos réponses ... :D
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre