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 :

Modifier une application VB6


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Par défaut Modifier une application VB6
    Bonjour

    Je reprend une application composé d'un exe, qui si j'ai compris fait appel à une DLL qui doit contenir des fonctions.

    Il y a donc le fichier LPRH.dll et un fichier LPRH.vbp.

    LPRH.vbp fait donc pas mal de chose et entre autre des requêtes SQL pour alimenter un fichier excel.
    Un des champs extrait avec les requêtes SQL vient de changer.

    J'ai ouvert avec vb6 le fichier LPRH.vbp pour modifier la requête SQL, j'ai enregistrer et j'ai ensuite géné une nouvelle LPRH.dll.

    J'ai remplacé LPRH.dll situé au niveau de mon EXE.

    L'ancien LPRH.dll ne pause pas de soucis par contre le LPRH.dll nouvelle créé se plante sur :
    le composant ActiveX ne peut créer l'objet pExportExcel()

    Je ne suis pas un expert en VB ... je n'ai surement pas la bonne méthode ...


    Merci @ vous tous

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Aie
    Il s'agit probablement d'un problème de compatibilité ascendante.

    Dé-enregistre ta dll, et recharge l'ancienne que tu ré-enregistre (avec regsrvr32.exe par exemple)
    Charge ton projet dans vb6, et, avant de compiler, change le mode de compatibilité. Cà se fait en selectionnant dans la barre de menu de vb : Projet/Propriétés. onglet composant. choisir l'option compatibilité binaire et dans le zone de texte juste en dessous, sélectionne l'ancienne dll.

    Recompile, là cà devrait se passer sans douleur.

  3. #3
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Par défaut
    Ok j'ai pris note ...

    Et pour recompiler le programme il faut faire un clic droit dessus et MAKE ou il faut aller dans VB6 et faire fichier --> make LPRH.dll ?



    Merci,

  4. #4
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Par défaut
    Je viens de faire la manip mais j'ai toujours le message :

    Le composant activeX ne peut pas créer l'objet pExportExcel()



    ... ?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 243
    Par défaut
    Dans le projet VB de ton exe (pas celui de la dll), dans le menu Projet, clique sur Références.

    Dans la liste des références disponibles, tu dois avoir celle de ta dll (qui correspond à ce qui est marqué dans la zone "Description du projet" de la dll - dans le projet de dll cette fois, dans les propriétés du projet, onglet général). Si c'est marqué Manquant, c'est que ton projet ne référence pas la bonne version de la dll.
    Dans ce cas, déselectionne ta dll dans la liste, clique sur ok, re-ouvre la liste des référence, retrouve ta dll dans la liste et sélectionne la à nouveau puis clique sur ok.

    Si ce n'est pas ça, c'est que tu a du changer quelquechose dans ta dll (une classe qui est passé en publicnotcreatble par exemple)...

  6. #6
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Par défaut
    Merci je vais regarder l'aide de 250rgv

    Je me permet de vous préciser les choses car ce n'est surement pas clair et je ne modifie peut-être pas ce qu'il faut ...

    Toute les semaine un EXE vb est éxécuté, cet EXE alimente un fichier excel en faisant des requêtes SQL sur une base.

    L'EXE est situé sur le répertoire A, dedans il y a l'EXE et une DLL (LPRH.DLL)
    Si j'ai bien compris la DLL doit contenir des fonctions ... (?)

    Ensuite dans un autre répertoire B il y a un projet VB qui s'appel LPRH qui génère la DLL LPRH.DLL et fichier *.cls.

    Moi je modifie le projet LPRH ce qui me génère dans le répertoire B les fichiers LPRH.DLL et le fichier CLS.
    Et je copie le fichier LPRH.DLL dans le répertoire A.

    Mais ça ne fonctionne pas, j'ai le message "le contrôle activeX ne peut pas créer l'objet".


    Voilà si quelqu'un peut me donner une procédure pour que je puisse apporter les modifications dans le code VB ...

    Merci,

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/07/2006, 17h04
  2. [VB6]besoin d'aide pour modifier une application
    Par mister perfect dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 19/05/2006, 11h46
  3. [VB6 Win98] Migration d'une application VB6 de Win XP vers W
    Par Essedik dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/04/2006, 14h38
  4. Réponses: 9
    Dernier message: 05/01/2006, 14h01
  5. installation d'une application vb6 en reseau
    Par ramo_irbiuos dans le forum Installation, Déploiement et Sécurité
    Réponses: 1
    Dernier message: 21/10/2005, 14h04

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