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

Composants VCL Delphi Discussion :

Limite du WebBrowser.Navigate avec un About: [FAQ]


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Limite du WebBrowser.Navigate avec un About:
    Salut

    Tout est dans le titre

    Quand je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebBrowser1.navigate('about:' + IciUnCodeHtmlAssezLong');
    J'ai une erreur, le webbrowser ne veut pas afficher ma page

    Par contre si le texte html n'est pas trop long c'est ok

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebBrowser1.navigate('about:<html><center><b><h2>Hello ça va bien ?</h2></b></center></html>);
    Comment puis je faire svp ?

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Je pense que la taille d'une URL est limitée à 255 caractère, mais sans garantie.
    Tu ferais beaucoup mieux de créer un petit fichier .html.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    j'y avais pensé mais je voulais savoir s'il n'y as pas une façon plus "propre"

  4. #4
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943
    Par défaut
    Tu peux utiliser l'interface IPersistStreamInit comme indiqué ici : http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/tutorials/webocstream.asp

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Merci pour ta réponse,

    Mis pourrais tu me dire comment utiliser cette methode stp

  6. #6
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943
    Par défaut
    Comme ça :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    uses
      ActiveX;
     
    procedure LoadHTML(AWebBrowser: TWebBrowser; const HTMLCode: string);
    var
      ss: TStringStream;
      sa: TStreamAdapter;
    begin
      // Il est nécessaire de réinitialiser la page avec un appel à Navigate
      AWebBrowser.Navigate('about:blank');
     
      // Il faut attendre que le navigateur soit prêt
      while AWebBrowser.ReadyState < READYSTATE_INTERACTIVE do
       Application.ProcessMessages;
     
      if Assigned(AWebBrowser.Document) then
      begin
        // On crée un flux
        ss:= TStringStream.Create(HTMLCode);
        try
          // et un adaptateur IStream
          sa:= TStreamAdapter.Create(ss); // Ne pas libérer
     
          // On appelle la méthode de chargement du WebBrowser
          (AWebBrowser.Document as IPersistStreamInit).Load(sa);
        finally
          // On libère le flux
          ss.Free;
        end;
      end;
    end;

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    nickel merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Limiter la navigation avec Twebbrowser
    Par haricot42 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 17/04/2014, 03h29
  2. Problème Refresh avec WebBrowser.Navigate
    Par Magohamoths dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/11/2009, 09h54
  3. Probleme de navigation avec webbrowser goback
    Par blairswish dans le forum C#
    Réponses: 0
    Dernier message: 13/08/2009, 15h24
  4. [W3C] CCS tabs, la navigation avec onglet.
    Par m@thieu dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/01/2005, 17h39
  5. Navigation avec la touche TAB
    Par wishnight dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/10/2004, 10h02

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