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

VB 6 et antérieur Discussion :

Comment générer un fichier tlb avec Visual basic 2010 Express


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 34
    Points
    34
    Par défaut Comment générer un fichier tlb avec Visual basic 2010 Express
    Bonjour,

    Mon problème : je n'arrive pas à générer de fichier .tlb avec Visual Basic 2010 Express pour generer une dll exploitable sous Excel en vba.

    Après avoir commencer à coder une bibliothèque de class en vba, je me suis apperçu que la transposition en bibliothèque "générique" pour pouvoir l'utiliser en transversal sur plusieurs développement vba était compliquée... J'ai donc réécrit la bibliothèque en Visual Basic avec vb 2010 Express (je suis toujours sous Vista et je débute en vb alors que vba ne me pose pas de pb...)

    Ma bibliothèque de class est écrite, fonctionne sous visual basic, en revanche pour pouvoir l'intégrer dans les références de mes développements Excel j'ai normalement besoin d'un fichier .tlb qui accompagne la dll lors de la compilation...

    Je n'arrive pas à savoir si c'est possible avec la version Visual Basic 2010 Express (et si oui ou faire le paramétrage)...
    impossible de trouver Interop Com dans les options pour pouvoir l'activer (mais comme je découvre cet environnement de développement je ne cherche peut-être pas au bon endroit...)

    Merci pour votre aide

    Philoul

    PS : n'étant pas sûr d'être sur le bon sous-forum, j'ai également posté la question dans la partie VB.Net
    http://www.developpez.net/forums/d14...-2010-express/

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    As-tu essayé cette méthode décrite par MSDN ?
    C'est tout juste à la fin de la page.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par l_autodidacte Voir le message
    As-tu essayé cette méthode décrite par MSDN ?
    C'est tout juste à la fin de la page.
    Merci pour ton aide,

    Je progresse mais ce n'est pas encore cela :

    Effectivement il me génère le fichier .tlb et la bibliothèque est maintenant listée dans les références disponibles sous Excel.

    En revanche pour l'utilisation cela coince encore :

    Ma classe est bien reconnue lors de la déclaration de ma variable :
    Dim Variable As Joueur
    ' l'ensemble des Class disponibles dans ma dll sont bien listées dans les propositions

    en revanche lors de l'initialisation de la variable Excel m'envoie un code d'erreur :

    Set Variable = New Joueur

    ' génère l'erreur d'exécution '-2147024894 (80070002)' : Erreur Automation Le fichier spécifié est introuvable

    De plus les propriétés ou méthodes de ma class "Joueur" ne sont pas reconnues dans la suite du code :
    (Sous excel ou sous Visual Basic, lorsque l'on tape le "." après la variable il liste normalement les propriétés et méthodes dispo déclarées dans la classe, mais autant il le fait correctement sous VB2010, sous Excel il ne le fait pas...)

    J'en déduit qu'il y a encore quelque chose qui coince... mais ou ???

    La question que je me suis posée est : la version de regasm a-t-elle une importance ?
    dans mon répertoire windows j'en ai trouvé une dizaines :
    une version 1.1.4322. ...
    8 RegAsm.exe en version 2.0.50727. ... (4 ou 5 sous versions différentes)
    une version de RegAsm.exe en 4.0.30319. ...

    J'ai utilisé la plus récente pour faire la manip...

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 34
    Points
    34
    Par défaut
    J'ai également regardé avec un éditeur hexadécimal à quoi ressemblait le fichier .tlb généré...

    J'y retrouve bien le nom des class présentes (celles reconnues par le "Dim" sous Excel), en revanche je ne vois aucune des propriétés ou méthodes de chacune des class (mais comme je ne sais pas vraiment à quoi sert ce fichier .tlb ni ce qu'il devrait contenir lorsque tout est Ok je ne sais pas dire si c'est normal ou pas...).

    Ce qui m'embète également, c'est que la génération "manuelle" par RegAsm ressemble furieusement à de la "Bidouille" pour contourner un problème... J'imagine qu'avec un environnement de développement cela devrait être complètement intégré au travers des options de compilations (avec les paramètres qui vont bien).

    Comme Visual Basic 2010 Express est "Free", la question que je me pose est : est-ce une limitation qui est présente dans cette version par rapport à une version de visual basic "payante" ou est-ce un paramétrage que je n'ai pas trouvé...

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Bonjour,
    Tu poserais la question de savoir comment générer un typelib avec VB6, je te répondrais :
    en cochant «Fichiers serveur distant» dans les propriétés du projet
    (réponse à l'égard d'un éventuel autre lecteur)

    mais dans ton cas il serait plus opportun de poser la question sur le bon forum
    http://www.developpez.net/forums/f13/dotnet/

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    J'ai également regardé avec un éditeur hexadécimal à quoi ressemblait le fichier .tlb généré...
    J'ai une Contribution allant dans ce sens et qui pourrait te donner plus d'infos sur le ficher tlb. Il faudra aller en mode multi-fichier(en appuyant sur le bouton >>)
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

Discussions similaires

  1. [Débutant] Comment générer un fichier tlb avec Visual basic 2010 Express ?
    Par philoul dans le forum VB.NET
    Réponses: 6
    Dernier message: 15/05/2014, 23h21
  2. Comment générer un fichier pdf avec asp et c#
    Par Berenger Nana dans le forum C#
    Réponses: 3
    Dernier message: 30/06/2011, 11h49
  3. Réponses: 4
    Dernier message: 15/12/2009, 16h14
  4. [VS 2005]Comment crée un fichier EXE avec Visual studio 2005 svp
    Par bernard13 dans le forum Visual Studio
    Réponses: 6
    Dernier message: 04/12/2007, 16h44
  5. modifier fichier .txt avec Visual Basic
    Par marco1980 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/09/2006, 20h19

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