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

Delphi .NET Discussion :

BDS - Utilisation ActiveX ShDocVw.dll [FAQ]


Sujet :

Delphi .NET

  1. #1
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut BDS - Utilisation ActiveX ShDocVw.dll
    Bonjour,

    J'essaie veinement d'utiliset le WebBrowser dans une appli Winform ou VCL.NET.
    j'ai suivi le tuto de Laurent Dardenne ici

    etape 1 : Création du clé (sn.Exe) et Génération du PIA. (tlbimp)
    etape 2 : Géneration du fichier pour la BDR (regasm)
    utilisation des scripts visiblement pas de pb. le fichier .reg est en piece jointe (Microsoft.Interop.Shdocvw.reg.txt)
    etape 3 : inscription dans le GAC
    vérification de Microsoft.Interop.ShDocvw.dll via Alimp (cf image en minature)

    etape 4 :
    Ensuite inscription du dossier contenant l'assemblage dans la BDR sous la clé :
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\MyWebbrowser]

    Je reviens sur BDS.
    Quand je veux ajouter une référence, Microsoft.Interop.ShDocvw.dll n'apparait pas dans les composants .NET.
    par contre je peux le sélectionner manuellement et l'ajouter
    Microsoft.Interop.ShDocvw - .Net File Reference - 1.1.0.0

    Est-ce que l'import est correct ?


    Si oui, maintenant comment l'utiliser dans un Tform ?

    J'ai à ma disposition :
    une classe IWebBrowser
    une interface WebBrowser

    des exemples ?

    Cdt.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par RamDevTeam
    Je reviens sur BDS.
    Quand je veux ajouter une référence, Microsoft.Interop.ShDocvw.dll n'apparait pas dans les composants .NET.
    Regarde dans la FAQ Delphi .NET, il y a une clé de registre à renseigné.
    Mais dans les options du projet je crois qu'on peut ajouter des chemins de recherche pour les Assemblies.
    Citation Envoyé par RamDevTeam
    Si oui, maintenant comment l'utiliser dans un Tform ?
    J'ai à ma disposition :
    une classe IWebBrowser
    une interface WebBrowser
    En win32 l'unité, issue de la librairie de type, contient un control TCppWebBrowser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    property  DefaultInterface: IWebBrowser2 read GetControlInterface;
    Mais là c'est un ActiveX, regarde dans l'aide en ligne si il ya qq chose à ce sujet.
    De mon coté je n'ai pas travaillé sur le sujet.

  3. #3
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    En vérifiant, le chemin d'accès aux assembly n'avait pas été pris en compte dans la BDR.

    J'ai corrigé et maintenant l'assembly microsoft.interop.shdocvw.dll apparait bien dans les composants .net en tant qu'assemblage .net.

    Dans un projet winform, je référence ce nouvel assemblage.
    Comment utiliser ce composant visuel ?

    D'après ce que j'ai pu trouver sur DVP.com ou d'autres sites, il faut un wrapper winforms.
    quand on utilise aximp en ligne de commande, il est créé.
    J'ai essayé avec média player :

    aximp c:\windows\system32\wmp.dll
    -> j'ai bien 2 dll de créé :
    WMPLib.DLL (visiblement la même chose que la dll créé par tlbimp)
    et l'autre nommée axWMPLIB.DLL visiblement le wrapper winforms.

    si je fais le même test avec shdocvw.dll.
    ShDocVw.dll est créé puis AXIMP me retourne l'erreur :
    'Bibliothèque non inscrite' sans aucune autre info.

    Une idée ?

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par RamDevTeam
    'Bibliothèque non inscrite' sans aucune autre info.
    Une idée ?
    Doit-elle être déclarée dans la registry ?

    [edit]
    Pb de dépendance ?
    http://support.microsoft.com/default...%3Bfr%3B823244

  5. #5
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    Ca ressemble très fortement à mon problème.
    Il se peut que dans toutes mes manips, j'ai supprimé une clé de registre concernant l'inscription de shDocvw.dll. Je vais chercher dans ce sens.

    Merci pour l'info.

  6. #6
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    J'ai regénérer le script pour la BDR (tlbimp)
    puis aximp

    le résultat est en pièce jointe (miniature) :-)

    Merci beaucoup laurent.
    ps : prochaine étape en faire un contrôle VCL.NET
    Images attachées Images attachées  

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

Discussions similaires

  1. [D2005] VCL.NET Utilisation de "kernel32.dll"
    Par fba dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 08/06/2005, 22h20
  2. SHDocVw.dll ?
    Par hiko-seijuro dans le forum Windows
    Réponses: 2
    Dernier message: 07/04/2005, 14h07
  3. [DLL] Utilisation d'une DLL pour utiliser serveur Firebird
    Par sekiryou dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/08/2004, 14h20
  4. [Info]Utilisation d'une Dll
    Par Assiobal dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/06/2004, 21h46
  5. Utilisation d'une dll écrite en delphi 5 dans VB6
    Par Jean-Louis dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2002, 09h19

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