Page 1 sur 1

WebGadget et Thread

Publié : sam. 04/oct./2008 15:05
par LavaLava
Salut,
j'ai un thread qui analyse des pages web en les téléchargeant avec un ReceiveHTTPFile(). Je me suis aperçut que cette fonction était assez lente, j'ai donc voulut utiliser un webgadget et récupérer son htmlcode, mais apparament on ne peut modifier l'url d'un webgadget depuis un thread...
Cela génére une erreur d'IE, même en cochant la gestion des Threads.

Code : Tout sélectionner

Procedure ActuWeb( Valeur )
  SetGadgetText( 0, "http://www.purebasic.com" )
EndProcedure
If OpenWindow(0,0,0,600,300,"WebGadget",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
  WebGadget(0,10,10,580,280,"")
  If CreateThread( @ActuWeb(), 0 ) = 0
    End
  EndIf
  Repeat 
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Publié : mer. 22/oct./2008 15:58
par Cls
Comme dit ailleurs et dans l'aide, le fenêtre doit être créée dans le thread.

Publié : ven. 24/oct./2008 15:19
par LavaLava
Salut,
effectivement ce sujet à été traité, je viens de déchiffrer plusieurs topic ... mais sur le forum anglais !
Il me semble avoir compris que Freak déconseille d'utiliser des webgadget avec des threads car cela crée des troubles ...

Par contre, et sans ironie, ou as tu trouvé des infos à se sujet sur la doc.
j'ai un Pb 4.20 français
Merci

Publié : ven. 24/oct./2008 15:36
par kwandjeen
Un URLDonwloadToFile ça suffirait pas ?

C'est sur cela cré un fichier, ou voir cachefile peut etre.

Publié : lun. 27/oct./2008 17:03
par Cls
C'est caché dans un coin ;)

WindowEvent() / WaitWindowEvent() / OpenWindow() :

Code : Tout sélectionner

Quand une fenêtre est ouverte dans un thread, le thread doit appeler WindowEvent() ou WaitWindowEvent() dans une boucle pour gérer les évènements pour cette fenêtre, car les évènements des fenêtres sont propres à chaque thread. 
Il y a des sujets sur le forum (sans relation avec le WebGadget par contre) :
http://www.purebasic.fr/french/viewtopi ... ght=thread