WebGadget et Thread

Archive.
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

WebGadget et Thread

Message 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
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Message par Cls »

Comme dit ailleurs et dans l'aide, le fenêtre doit être créée dans le thread.
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message 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
kwandjeen
Messages : 204
Inscription : dim. 16/juil./2006 21:44

Message par kwandjeen »

Un URLDonwloadToFile ça suffirait pas ?

C'est sur cela cré un fichier, ou voir cachefile peut etre.
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

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