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 :

Webbrowser charge mais n'affiche rien !


Sujet :

Composants VCL Delphi

  1. #1
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut Webbrowser charge mais n'affiche rien !
    Bonjour !

    C'est ma 1ère utilisation du composant webbrowser, le code que j'ai copié d'un autre site est très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm9.Button1Click(Sender: TObject);
     var
      Flags: OLEVariant;
    begin
      Flags:=4; //NavNoReadFromCache
      try WebBrowser1.Navigate('https://app.powerbi.com/view?r=eyJrIjoiMGJiODRmNmEtNTg4NS00ZjY4LWJlNGQtMGRiMDY5ZjQ1YjE1IiwidCI6IjAxYzQ2OTQ3LTVkZmItNGM3MS1hZTIxLTQ4MzljYzU0ZDUwMSIsImMiOjh9',Flags);
      except
      end;
    end;
    La page se charge bien mais elle n'affiche rien et le browser devint gris.

    j'ai changé d'URL et sa fonctionne bien sauf pour celui là ?

    Peut-être que c'est juste un flag à configurer ?!

    Toute idée est la bienvenue.

    Merci d'avance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  2. #2
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    Bonjour,

    j'ai testé ton code avec D7 et D10.2 et le TWebBrowser de base (donc émulation d'IE7)
    et la page s'affiche correctement !!!

    peut-être utilises tu une version de Delphi antérieur à D7 ?

    Pour contrôler quelle version d'IE ton code émule tu peux charger cette page dans ton programme.
    à partir d'IE7 le code fonctionne (chez moi)

    Cordialement,
    @+

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Cirec Voir le message
    peut-être utilises tu une version de Delphi antérieur à D7 ?

    Pour contrôler quelle version d'IE ton code émule tu peux charger cette page dans ton programme.
    à partir d'IE7 le code fonctionne (chez moi)

    @+
    J'utilise Delphi 2010. Le hic c'est que la page s'affiche correctement en passant l'URL à chrome mais depuis mon application tout est gris ?!!!
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 86
    Points : 375
    Points
    375
    Par défaut
    Bonjour,

    Testé sur Delphi 2010 avec le code fourni, le chargement se termine correctement.

  5. #5
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Hermite Voir le message
    Bonjour,

    Testé sur Delphi 2010 avec le code fourni, le chargement se termine correctement.
    Merci pour la confirmation mais j'ai toujours le même problème chez moi, pouvez-vous faire une capture d'écran s'il vous plait ?
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 061
    Points : 41 018
    Points
    41 018
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par Just-Soft Voir le message
    j'ai toujours le même problème chez moi,
    c'est certainement dû à ta version de MS internet explorer, j'ai vu plusieurs cas de ce genre
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 86
    Points : 375
    Points
    375
    Par défaut
    Voici quelques copies d'écrans.
    Le résultat de l'adresse que tu souhaites afficher :
    Nom : Test1.png
Affichages : 677
Taille : 82,5 Ko

    Et voici ce que m'affiche la page proposée par Cirec affichée par le composant WebBrowser, tu pourras comparer avec ce que tu obtiens et peut-être trouver une piste.
    A noter que cette page indique que je tourne sur un Windows 8 alors qu'en réalité je suis sur un Windows 10 64 bits.

    Nom : Test2.png
Affichages : 650
Taille : 41,5 Ko
    Nom : Test3.png
Affichages : 651
Taille : 25,1 Ko
    Nom : Test4.png
Affichages : 627
Taille : 12,9 Ko
    Nom : Test5.png
Affichages : 642
Taille : 14,8 Ko

  8. #8
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    c'est certainement dû à ta version de MS internet explorer, j'ai vu plusieurs cas de ce genre
    Ok alors ma question est : quel est le lien entre TWebBrowser et MS Explorer ? et comment forcer la prise en charge de Chrome à la place de MS Explorer ?
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 469
    Points : 24 905
    Points
    24 905
    Par défaut
    TWebBrowser c'est juste le Wrapper Delphi avec la TLB de l'ActiveX de Internet Explorer

    Ce n'est pas comme ci c'était écrit dans la documentation TWebBrowser
    TWebBrowser donne accès à la fonctionnalité de navigateur Web des objets Microsoft Shell Doc et Control Library (SHDOCVW.DLL).

    TWebBrowser encapsule l'interface IWebBrowser2 des objets Microsoft Shell Doc et Control Library (SHDOCVW.DLL)pour vous permettre de créer une application navigateur Web personnalisée ou d'ajouter à vos applications des fonctions Internet, de fichiers et de parcours réseau, de visualisation de document et de téléchargement de données.

    Remarque : Comme TWebBrowser encapsule SHDOCVW.DLL, SHDOCVW.DLL doit être installé pour utiliser ce composant. Cette DLL est livrée avec Internet Explorer version 4 et plus.

    Pour chrome, lance le via un ShellExecute
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  10. #10
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Hermite Voir le message
    Voici quelques copies d'écrans.
    Le résultat de l'adresse que tu souhaites afficher :


    Et voici ce que m'affiche la page proposée par Cirec affichée par le composant WebBrowser, tu pourras comparer avec ce que tu obtiens et peut-être trouver une piste.
    A noter que cette page indique que je tourne sur un Windows 8 alors qu'en réalité je suis sur un Windows 10 64 bits.
    Alors pour moi voici que j'ai Nom : WebBrower.png
Affichages : 725
Taille : 33,5 Ko

    Pour le test il semble que tout est bon sauf pour java qui n'est pas installé puisque délaissé par Chrome depuis la version 42 je crois.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  11. #11
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    TWebBrowser c'est juste le Wrapper Delphi avec la TLB de l'ActiveX de Internet Explorer

    Ce n'est pas comme ci c'était écrit dans la documentation TWebBrowser



    Pour chrome, lance le via un ShellExecute
    Ok mais pourquoi chez certains ça marche !

    Merci pour l'idée de lancer chrome à partir de ShellExecute mais l'idée ne me séduit pas, j'aimerais rester sur mon application et ouvrir ma page html via webbrowser ou un autre composant.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  12. #12
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    re,

    tu peux aussi essayer de changer le niveau d'émulation d'IE
    Il y a une discussion sur ce sujet sur le site avec un code de gbedgreg qui fonctionne très bien

    Cordialement,
    @+

  13. #13
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Cirec Voir le message
    re,

    tu peux aussi essayer de changer le niveau d'émulation d'IE
    Il y a une discussion sur ce sujet sur le site avec un code de gbedgreg qui fonctionne très bien

    Cordialement,
    @+
    Je suis sur Delphi 2010 et je bute sur le RWord ?!
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 061
    Points : 41 018
    Points
    41 018
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    @cirec merci d'avoir retrouver la discussion que "j'avais sur le bout de la langue"

    Citation Envoyé par Just-Soft Voir le message
    Je suis sur Delphi 2010 et je bute sur le RWord ?!
    Citation Envoyé par gbegreg
    la fonction renvoie le premier mot de la chaîne de caractères passée en paramètre en prenant comme séparateur le point.
    une solution (écrite à la volée)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function RWord(version : string) : String;
    var SL : TStringlist;
    begin
    SL:=TStringList.Create;
    SL.Delimiter:='.';
    try
    SL.CommaText:=Version;
    result:=SL[0];
    finally
      SL.Free;
    end;
    end;
    mais ça peut aussi être, plus simple, à coup de Pos (toujours à la volée)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RWord:=Copy(version,1,pos('.',version)-1);
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  15. #15
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    @cirec merci d'avoir retrouver la discussion que "j'avais sur le bout de la langue"
    You're Welcome


    ah oui j'avais oublié la fonction RWord
    moi j'ai ceci :
    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
     
    function RWord(aStr: string; aPos: Integer; aSep: Char): string;
    var
      I,
      Found : Integer;
    begin
      Result := aStr;
      Found := 0;
      for I := 1 to Length(aStr) do
        if Result[I] = aSep then begin
          Inc(Found);
          if Found = aPos then begin
            Result[I] := #0;
            Break;
          end;
        end;
      Result := PChar(Result);
    end;
    Cordialement,
    @+

  16. #16
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Cirec Voir le message
    re,

    tu peux aussi essayer de changer le niveau d'émulation d'IE
    Il y a une discussion sur ce sujet sur le site avec un code de gbedgreg qui fonctionne très bien

    Cordialement,
    @+
    même avec ça ... rien ne s'affiche !
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  17. #17
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    eh ben, il n'y a plus beaucoup d'options !

    Déjà
    - quelle version de Windows utilises-tu ? (je me souviens que XP me faisait des soucis à cause de la version d'IE)
    - IE est-il à jour ?

    et pour finir tu peux, dans ton code d'exemple, changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Flags:=4; //NavNoReadFromCache
    en ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Flags := 5; // == navNoReadFromCache or navOpenInNewWindow
    ce qui forcera ton application à ouvrir une fenêtre IE.
    Teste ça et dis nous si la page s'affiche

    j'ai pas mieux pour l'instant
    Cordialement,
    @+

  18. #18
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Cirec Voir le message
    eh ben, il n'y a plus beaucoup d'options !

    Déjà
    - quelle version de Windows utilises-tu ? (je me souviens que XP me faisait des soucis à cause de la version d'IE)
    - IE est-il à jour ?

    et pour finir tu peux, dans ton code d'exemple, changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Flags:=4; //NavNoReadFromCache
    en ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Flags := 5; // == navNoReadFromCache or navOpenInNewWindow
    ce qui forcera ton application à ouvrir une fenêtre IE.
    Teste ça et dis nous si la page s'affiche

    j'ai pas mieux pour l'instant
    Cordialement,
    @+
    Merci pour toutes ces pistes mais nulle ne marche !
    même l'affichage dans une fenêtre IE donne le même résultat ...
    conclusion le problème vient de IE !

    Je repose la question autrement :

    Existe-t-il un composant encapsulant Chrome ?
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  19. #19
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    re,
    Existe-t-il un composant encapsulant Chrome ?
    oui il existe Chromium (dcef3) que je n'ai jamais testé
    et le deuxième lien qui semble être une version plus récente(dcef4) basée sur le premier(dcef3)

    à voir !

    Cordialement,
    @+

  20. #20
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Cirec Voir le message
    re,

    oui il existe Chromium (dcef3) que je n'ai jamais testé
    et le deuxième lien qui semble être une version plus récente(dcef4) basée sur le premier(dcef3)

    à voir !

    Cordialement,
    @+
    Merci, je vais voir avec ça.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

Discussions similaires

  1. Mon programme compile mais n'affiche rien
    Par diop.abdoulahi dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 06/10/2016, 17h11
  2. Réponses: 2
    Dernier message: 07/05/2008, 12h02
  3. ça affiche NULL mais je veux que ça affiche rien.
    Par psychoBob dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 20/05/2006, 22h35
  4. Boot mais n'affiche rien
    Par log2n dans le forum Assembleur
    Réponses: 28
    Dernier message: 03/11/2005, 21h16

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