AsyncCallBack, Délégué et Galere !

Signaler
Messages postés
30
Date d'inscription
dimanche 10 décembre 2006
Statut
Membre
Dernière intervention
15 avril 2008
-
Messages postés
30
Date d'inscription
dimanche 10 décembre 2006
Statut
Membre
Dernière intervention
15 avril 2008
-
Voila jeffectue une requete web asynchrone et je souhaite traiter le code HTML ressu, le parser et afficher les resultats dans une liste view

voici le code de mon call back

 

PrivateSub
ResponseCallbackBuilder(ByVal ar As IAsyncResult)

           ' Recuperation l'objet etat

            Dim state As
RequestState = CType(ar.AsyncState,
RequestState)

            ' Recuperation de la requete web (object HttpWebRequest)

            Dim req As
HttpWebRequest = state.Request

            ' Recuperation
de la reponse web

            Dim resp As
HttpWebResponse = CType(req.EndGetResponse(ar),
HttpWebResponse)

 

           Dim responseStream As
Stream = resp.GetResponseStream()

            Dim sr As
StreamReader = New StreamReader(responseStream,
System.Text.Encoding.UTF8)

            Dim HtmlText AsString = sr.ReadToEnd()

            sr.Close()

            Dim htmldoc AsNew HtmlAgilityPack.HtmlDocument

            htmldoc.LoadHtml(HtmlText)

        

   VIDEOSINFOS = New VideoInfos(htmldoc) 'PARSE
le document et stock dans une variable globale

            Form3.Build() '

 

    EndSub

ensuite jai tester moult méthodes avec des délégués. A chaque fois le délégués est appeler et la liste view en théorie mise à jour (mais on dirais que des qu'on sort de la fonction la liste view revien a son état iniatiale

jai essayer de changer des labels et autres controles avec des délégué au débugger les proprité sont bien changer mais des kon sort de la fonction hop tout revien comme avant. C'est a devenir fou...

voici la derniere technique que jai utilisée
PrivateDelegateSub DelegueBuild()

    PublicSub Build()

        If
ListViewNF1.InvokeRequired Then

              Dim poCallBack AsNewDelegueBuild(AddressOf
Build)

            'Dim Params(0) As Object

            'Params(0) = BuildPageItems(VIDEOSINFOS, VIDEOSINFOS.Count)

            ListViewNF1.Invoke(poCallBack)
', Params)

        Else

            ListViewNF1.Items.AddRange(BuildPageItems(VIDEOSINFOS,
VIDEOSINFOS.Count))
         EndIf

    EndSub

buildPageItems contruit des lignes de listview et renvoi un tableau de listviewitem

sa passe dans les fonctions mais ensuite la liste view revien a son été initial

Le comble c'est que invokerequired renvoi false donc je vois pas pourquoi sa marque pas

SVP aidez moi, jdevient fous en plus sa me fait perdre du temps >_<!!!

1 réponse

Messages postés
30
Date d'inscription
dimanche 10 décembre 2006
Statut
Membre
Dernière intervention
15 avril 2008

Jai oublier de preciser que ce qui concerne la requete asynchrone est dans une classe a part et ma sub
Private Delegate Sub DelegueBuild()

Public Sub Build()

est dans une form (form3)