IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Vider le cache CppWebBrowser


Sujet :

C++Builder

  1. #1
    Membre chevronn�

    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    531
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 531
    Par d�faut Vider le cache CppWebBrowser
    Je souhaite d�sactiver tout cache sur ce composant, car si je demande deux fois la m�me page, il ne va pas la lire mais utilise le cache.
    je ne souhaites pas utiliser refresh, mais bien relancer le site par la commande:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    WebBrowser1->Navigate((WideString)"http://www.j.ai.pas.trouve.com/");
    je n'ai pas trouv� la commande ni l'option si elle existe sur le composant.

  2. #2
    R�dacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par d�faut
    Bonjour,

    Il te suffit de changer un peu ton code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    TVariant flags;
    flags = 2 | 4 | 8; // navNoHistory | navNoReadFromCache | navNoWriteToCache
    WebBrowser1->Navigate((WideString)"http://www.j.ai.pas.trouve.com/", &flags);
    Cordialement,

    Arnaud

  3. #3
    Membre chevronn�

    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    531
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 531
    Par d�faut
    Mercy Greybird en regardant l'aide de BCB6 j'aurais pu trouver sur 2006 c'est pas �a l'aide ...

    N�anmoins pour ce que je veux faire �a marche pas, en �ffet je fais un process qui surveille les temps de r�ponse d'un serveur web, par exemple de fa�on simple en tapant sur la m�me page.

    je d�clanche un timer et sur l'�v�nement <OnDocumentCompl�te> je compte le nombre de tick. le premier coup j'ai par exemple 8 secondes de d�compt�e
    et apr�s toujours 0 (et on peut voir que la page n'est pas recharg�e).
    c'est bizzare sur la page d'accueil Google �a fait �a et sur la page d'accueil Altavista �a me donne bien un temps coh�rent � chaque fois (m�me si je ne met pas le <flags>)

    Bizzare non, des id�es ou autre fa�on de faire ??

  4. #4
    R�dacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par d�faut
    Bonjour,

    OnDocumentComplete peut se produire plusieurs fois. As-tu bien mis en place le m�canisme permettant de s'assurer qu'il s'agit bien du dernier OnDocumentComplete ? (cf aide BCB6) Dans le cas contraire, il se peut qu'une image soit en cache, et que les param�tres donn�s au Navigate ne servent que pour la page en elle-m�me ? C'est fumeux, mais je ne vois pas trop ce qui pourrait expliquer ce genre de comportement.... Peut-�tre que je rate quelque chose.
    Tu peux peut �tre essayer d'installer Ethereal et de surveiller les requetes qui passent pour t'assurer que tout est normal. Genre pas de r�ponse 304 de Google ou ce genre de chose.

    Sinon, dans la mesure o� il s'agit uniquement d'une application de surveillance, et o� donc l'affichage de la page est inutile, je te conseille vivement l'utilisation d'un composant sans affichage graphique, du type TIdHTTP.


    Arnaud

  5. #5
    Membre chevronn�

    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    531
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 531
    Par d�faut
    Bon apr�s avoir fait plusieurs tests TidHTTP fonctionne bien mais ne comptabilise pas le temps de chargement des images, et dans mon cas c'est important.

    l'aspect affichage est sympathique aussi dans mon application puisque je tourne sur plusieurs pages pour faire une moyenne.

    Donc le seul cas qui fonctionne c'est de cr�er � chaque fois un composant TCppWebBrowser dynamique pour chaque page HTML.

    Seul souci c'est que je ne suis pas arriv� � lancer une fonction sur:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    WebBrowser1DocumentComplete(TObject *Sender, LPDISPATCH pDisp, Variant *URL)
    puisque le lien est justement dynamique... et je suis pas parvenu � faire le lien , si quelqu'un maitrise le sujet...

  6. #6
    R�dacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par d�faut
    Citation Envoy� par Fbartolo
    Seul souci c'est que je ne suis pas arriv� � lancer une fonction sur:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    WebBrowser1DocumentComplete(TObject *Sender, LPDISPATCH pDisp, Variant *URL)
    puisque le lien est justement dynamique... et je suis pas parvenu � faire le lien , si quelqu'un maitrise le sujet...
    Je ne comprend pas tr�s bien le probl�me. Pourrais-tu le reformuler s'il te plait ?

    Arnaud

  7. #7
    Membre chevronn�

    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    531
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 531
    Par d�faut
    Bon j'ai trouv� une solution, qui ne me plait pas trop mais bon:

    N'arrivant pas � faire une transtypage sur l'�v�nement: OnDocumentComplete, afin de faire pointer une fonction classique apr�s cr�ation dynamique de TCppWebBrowser... :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TCppWebBrowser *CppWebBrowser1;
    CppWebBrowser1 = new TCppWebBrowser(Form2);
    CppWebBrowser1->ParentWindow = Handle;
    unsigned long Add;
    TVariant  Flags = (2 |4 |8 );
    DelaiWeb = 0;
    CppWebBrowser1->OnDocumentComplete = CppWebBrowser2->OnDocumentComplete;
     
    Timer1->Enabled = true;
    CppWebBrowser1->Navigate((WideString) "http://www.c.est.ca.com/",&Flags);


    J'en ai mis deux: un qui est ma r�f�rence pour alimenter les �v�nements On...

    et l'autre que je cr�� dynamiquement avec ensuite l'affectation:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    CppWebBrowser1->OnDocumentComplete = CppWebBrowser2->OnDocumentComplete;
    Ainsi le compilateur me permet de pointer sur les �v�nements (avec mon code) de l'autre CppWebBrowser..

    Ceci dit si Quelqu'un connait une mani�re d'�crire plus "conforme" je suis preneur.
    Car de mettre en place deux composants pour en utiliser un c'est pas top.

    Je me permet de mettre r�solu par ce que cela fonctionne mais cela ne me plait pas trop..

  8. #8
    Membre chevronn�

    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    531
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 531
    Par d�faut
    Citation Envoy� par Greybird
    Je ne comprend pas tr�s bien le probl�me. Pourrais-tu le reformuler s'il te plait ?

    Arnaud
    Quand je met un composant WebBrowser sur ma fiche, je peux �crire du code dans les �v�nements g�r�s par le composants (inspecteur d'objet, ev�nement..)

    Lorsque je le cr�� en dynamique, je ne sai pas adresser ces �v�nements.

    C'est �a mon PB, que j'ai d�tourn� pour l'instant en pla�ant un composant en statique et en y mettant le code, puis je fais pointer ensuite sur ce dernier... c'est pas tr�s glop.

  9. #9
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonjour,
    Il se peut que je ne comprenne pas le bien le probl�me, et que je r�ponde a c�t� dsl, mais quand je fais :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    void __fastcall TForm1::BTajoutClick(TObject *Sender)
    {
    //
    TCppWebBrowser *pCpp = new TCppWebBrowser(this);
    pCpp->ParentWindow = this->Handle;
    pCpp->OnDocumentComplete = MyCppDocumentComplete;
    WideString Url = "http://www.developpez.net/forums/";
    TVariant  Flags = (2 |4 |8 );
    pCpp->Navigate(Url, &Flags);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::MyCppDocumentComplete(TObject* Sender, LPDISPATCH pDisp, tagVARIANT *URL)
    {
        Beep();
        ShowMessage("C'est bon....le saucisson !");
    }
    avec :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    void __fastcall MyCppDocumentComplete(TObject* Sender, LPDISPATCH pDisp, tagVARIANT *URL);
    dans le .h
    cela semble fonctionner, en tout cas cela renvoie bien le petit message (au contenu d'ailleurs tres philosophique, je te laisse appr�cier...)

  10. #10
    Membre chevronn�

    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    531
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 531
    Par d�faut
    Super c'�tait bien cela que je cherchais... bravo et merci.

    Derni�re chose qui ne fonctionne pas c'est l'agrandissement de la fen�tre avec:
    .

    J'ai aussi chang� le message car "Saucisson" c'est pas bon pour mon r�gime

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [C#] Vider le cache d'un client
    Par dupin40 dans le forum ASP.NET
    R�ponses: 6
    Dernier message: 26/09/2007, 11h21
  2. �cran bleu [vider m�moire cache]
    Par gilleski2010 dans le forum P�riph�riques
    R�ponses: 2
    Dernier message: 03/08/2006, 17h56
  3. [DBA] Vider le cache
    Par mguinot dans le forum Oracle
    R�ponses: 4
    Dernier message: 18/07/2006, 09h08
  4. [Cache IE] vider le cache d'IE
    Par Casp dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 08/02/2006, 15h27
  5. Vider le cache des archives
    Par Thrystan dans le forum Debian
    R�ponses: 4
    Dernier message: 30/06/2005, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo