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

API, COM et SDKs Delphi Discussion :

Est-ce qu'il y a un composant ou xrapper pour WebView2 pour DELPHI 6 ?


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre habitué

    Homme Profil pro
    Informaticien retraité
    Inscrit en
    Mars 2010
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 287
    Points : 164
    Points
    164
    Billets dans le blog
    1
    Par défaut Est-ce qu'il y a un composant ou xrapper pour WebView2 pour DELPHI 6 ?
    Je sous sous Delphi 6 Personal Edition, avec Windows 10 toutes mises à jour faites.

    J'ai beaucoup de codes utilisant le TWebBrowser et quelques dérivés.

    Or, Internet Explorer n'est plus disponible et remplacé par Edge. L'outil utilisable devrait WebView2.
    Je sais qu'il y a un composant TWebView2 dans Delphi 10.xxx.

    Mais est-ce qu'il y a quelque chose de similaire opérationnel sous Delphi 6 ?

    J'ai vu aussi que Edge a maintenant une interface COM. Mais je n'ai pas pu trouver unen documentation à ce sujet.

    Y a-t-il un moyen quelconque pour accéder WebView2 à partir de Delphi 6 ?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    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 459
    Points : 24 873
    Points
    24 873
    Par défaut
    En Pro, j'aurais dis qu'il faudrait utiliser l'import de bibliothèque de type, cela va générer le Wrapper.
    En Perso, je dirais qu'il faut trouver l'unité sur le net car je ne suis pas sur que l'expert soit présent.

    Cela peut exiger l'installation de MicrosoftEdgeWebView2RuntimeInstallerX86.exe

    TWebBrowser avec une clé de base de registre peut-il utiliser une émulation

    Je forçais en 11 il y a pas longtemps, faudrait vérifier que cela ne passe pas par Edge justement, lorsque j'aurais la mise à jour, je vérifierais car c'était hier la fin officielle.

    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
    33
    34
    35
    36
    37
    38
    39
    procedure CheckWebBrowserEmulation();
      const
        KEY = 'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION';
      var
        Reg: TRegistry;
        EmulationLevel: Integer;
      begin
        EmulationLevel := 0;
     
        Reg := TRegistry.Create(KEY_QUERY_VALUE);
        try
          Reg.RootKey := HKEY_CURRENT_USER;
          if Reg.OpenKey(KEY, False) then
            if Reg.ValueExists(ExtractFileName(Application.ExeName)) then
              EmulationLevel := Reg.ReadInteger(ExtractFileName(Application.ExeName))
        finally
          Reg.Free();
        end;
     
        if EmulationLevel <> 11000 then
        begin
          if MessageDlg(Format('Allow Change WebBrowser Emulation Level from %d to 11000 ?', [EmulationLevel]), mtConfirmation, mbYesNo, 0) = mrYes then
          begin
            Reg := TRegistry.Create(KEY_SET_VALUE);
            try
              Reg.RootKey := HKEY_CURRENT_USER;
              if Reg.OpenKey(KEY, True) then
              begin
                Reg.WriteInteger(ExtractFileName(Application.ExeName), 11000);
                CheckOSError(Reg.LastError);
              end
              else
                CheckOSError(Reg.LastError);
            finally
              Reg.Free();
            end;
          end;
        end;
      end;
    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

  3. #3
    Membre habitué

    Homme Profil pro
    Informaticien retraité
    Inscrit en
    Mars 2010
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 287
    Points : 164
    Points
    164
    Billets dans le blog
    1
    Par défaut
    Merci pour ces infos.

    J'ai installé MicrosoftEdgeWebView2RuntimeInstallerX86.exe sans problème - le résultat se trouve dans Programmes (x86)\MicoSoft\EdgeWebView.

    J'ai essayé ton code. Après des adaptations mineures (certainement dues à la version D6 PE), cette procédure fonctionne. Mais je ne vois pas particulièrement le lien avec EdgeView... La valeur de 11000 signifie "IE version 11", pas EdgeView.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    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 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Selon l'OS IE11 est en réalité émulé par Edge.

    Sinon, le plus important était l'import de TLB (ActiveX, OLE, COM) de la DLL ...\build\x86\WebView2Loader.dll

    En Delphi 10, le SelectedEngine permet de switcher sur la WebView2 si la DLL est présente (si possible dans le répertoire de ton exe), faudrait trouver le moyen de reproduire ce fonctionnement en D6 c'est à dire toute la partie SHDocVw.TWebBrowser.GetEdgeInterface qui transforme le TWebBrowser comme un proxy du TEdgeBrowser
    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

  5. #5
    Membre habitué

    Homme Profil pro
    Informaticien retraité
    Inscrit en
    Mars 2010
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 287
    Points : 164
    Points
    164
    Billets dans le blog
    1
    Par défaut
    Je n'ai pas ce fichier
    Par contre, j'ai celui-ci: WebView2Loader.dll
    C:\Program Files (x86)\Microsoft\EdgeWebView\Application\102.0.1245.41\EBWebView\x86\EmbeddedBrowserWebView.dll

    Cela ressemble à ce qui pourrait être de composant TWebBrowser ?
    Vérification faite, cette DLL esporte 3 symboles:
    CreateWebViewEnvironmentWithOptionsInternal
    DllCanUnloadNow
    GetHandleVerifier

    Donc, ça ne peut pas être ce que je cherche.

Discussions similaires

  1. Réponses: 18
    Dernier message: 06/09/2011, 10h37
  2. Où télécharger le composant de crystal pour delphi ?
    Par savoir dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/03/2009, 14h43
  3. Réponses: 0
    Dernier message: 08/12/2008, 15h10
  4. Recherche composant éditeur WYSIWYG pour Delphi (Win32)
    Par Nono40 dans le forum Composants VCL
    Réponses: 10
    Dernier message: 23/05/2008, 18h29
  5. Composants et outils pour Delphi
    Par philnext dans le forum Delphi
    Réponses: 3
    Dernier message: 01/03/2007, 21h34

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