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 :

Problème de distribution VB6 + ActiveX


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Par défaut Problème de distribution VB6 + ActiveX
    Bonjour à tous,
    J'ai codé un projet VB 6 faisant appel à une dll . Dans mon projet, j'ai coché la référence, et appelé cette dll avec un Public WithEvents
    Sur mon poste de développement pas de problème, tout roule.
    Sur mon portable, ou vb est installé , pas de problèmes non plus, après en registrement de la dll (pas d'install necessaire)
    Par contre, après avoir fait une installation sur un poste sans VB (XP), à partir d'un setup réalisé avec l'assistant de d'empaquetage, pas moyen de faire fonctionner le programme, il plante à l'appel de la fonction contenue dans la dll (set ... as...), avec une erreur 429 activex bien connue. J'ai vérifié la présence de la dll dans la base de registre, désinstallé puis réinstallé la dll pour etre sur de ne pas avoir de conflit de versions, analysé l'exe avec depends.exe, sans problèmes signalé, et pourtant, toujours rien.
    Une tentative vers un autre poste vierge, c'ets soldé ce matin par le même echec...
    Bref, je ne vois plus rien et j'ai besoin de votre aide.

    merci

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 303
    Par défaut
    essayer d'instancier le ou les objets de la dll par liaison tardive (createobject)
    sinon, simplifier le code du composant en le complétant pas à pas jusqu'à l'apparition de l'erreur 429...
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    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
    Et aussi, attention en installant, un activeX peut en cacher un autre

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Par défaut
    j'ai essayé createobject ce matin, meme erreur 429, je l'ai laisser d'ailleurs ca fait de mal à personne !
    par contre je ne comprend pas vraiment ta seconde phrase, je ne peut pas simplifier le code jusqu'a l'erreur 429, c'est à la première ligne sur un bouton !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set RokSockClient = CreateObject(RokSocket)   ' initialisation du client
    et voila !!

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Par défaut
    Bonjour,

    Depends.exe ne voit pas toutes les dépendances.
    Je travail sur des projets utilisant des dll maison et depends ne les indiques pas. Quand mes dll ne sont pas enregistrées j'ai bien une erreur 429.

    Le plus vraisemblable est que ta dll a besoin d'une autre dll : recherches les dépendances de ta dll.

  6. #6
    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
    c'est ce que je disais lol, un activex peut en cacher un autre, même combat pour les dll

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Par défaut
    Ok, merci beaucoup, effectivement j'ai utilisé depends pour tester ma dll, mais je vais fouiller le code, c'est surement ça !!

    A+

  8. #8
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 303
    Par défaut
    par contre je ne comprend pas vraiment ta seconde phrase, je ne peut pas simplifier le code jusqu'a l'erreur 429, c'est à la première ligne sur un bouton
    heu.., je disais
    simplifier le code du composant
    pas le code du client qui instancie ton objet rocksocket
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Par défaut
    Merci pour toutes ces infos...
    Je cjerche, je cherche, mais ne trouve rien, j'ai listé toutes des dépendances de chaque dll, fouillé et simplifier le code de ma dll appelé par mon programme (c'ets bien là que ça coince.
    Et pourtant, je n'arrive toujours pas à me sortir de cette erreur 429.
    PAr contre, en essayant d'introduire dans mon exe client, le code d'enregistrement de la dll (déjà enregistée à la main), code fourni par microsoft, il me dit enregistrement impossible...

    Bon, je continu à chercher mais si vous avez des idées, n'hésitez pas

    Merci

  10. #10
    Membre chevronné
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Par défaut
    Comment enregistres-tu ta dll ?
    Si c'est une DLL fait avec VB (DLL ActiveX) il faut utiliser "regsvr32 MaDll.Dll" pour l'enregistrer et "regsvr32 MaDll.Dll /U" pour la désenregistrer.

    Il est nomal que cela fonctionne correctement sur le poste où tu as compilé la Dll car lors de la compilation la dll est enregistrée automatiquement.

    Dans le projet de ta dll, ouvre les menus "Projet / Référence" & "Projet / Composants". Tu trouveras ici toutes les dépendances de la dll. Regardes si les fichiers indiqués sont présents sur ton poste client (sans vb).
    S'ils sont présents, ré-enregistres les.
    S'il ne sont pas présents, copies les et ré-enregistres les.

    Si cela ne marche toujours pas, regarde la documentation de chaque composant pour connaitre les dépendances et vérifier si celles-ci sont bien sur le poste client. Dans l'aide tu devrais retrouver cela dans des rubriques comme "Redistribution", "Distributing", "Distributable Files", "Deploying", ...

    Attention certain composant ne fonctionne pas sur tous les systèmes d'exploitations ou les dll à installer peuvent être différentes d'un système à l'autre (surtout en win9x et Win2000/Xp).

    Bon courage

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Par défaut
    Merci pour tes conseils... que j'ai déjà suivis pas à pas depuis quelques jours.
    La dll qui coince est un activeX développer sous VB6, dont j'ai le code et dont je connais l'unique dépendance. j'ai tout désenregistrer à la main, et refait (l'install faite avec VB le fait égallement, j'ai vérifié).
    J'ai essayé de compiller depuis un autre poste ayant vb (et sur lequel le cleint marche), mais ça ne change rien.
    Je cherche donc du coté de la référence à l'activex, présente dans le projet, mais invisible avec depend.exe
    J'avoue que ca me soule, donc pas plus de 2h par jour, après je fais autre chose...

    Merci encore

  12. #12
    Membre chevronné
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Par défaut
    Si c'est l'OCX qui bloque et que tu as le code, tu peux essayer de l'inclure dans ta dll. Cela évitera les problèmes d'installation , mais il est aussi possible que cela déporte le problème dans ta dll...

    A voir

Discussions similaires

  1. Problème de distribution d'un simple application c++/cli
    Par boudreau_benjamin dans le forum Framework .NET
    Réponses: 3
    Dernier message: 16/06/2006, 17h59
  2. [VB6] problème médiaplayer sous vb6
    Par vb6.beginner dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 11/06/2006, 15h59
  3. [VB6] ActiveX singleton, comment ça marche ?
    Par loki9481 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/05/2006, 12h03
  4. [VBA] Problème avec composant VB6
    Par Diablo_22 dans le forum Général VBA
    Réponses: 8
    Dernier message: 16/03/2006, 21h41
  5. [vb6][activeX][excel] l'activeX ne fonctionne pas
    Par totof39 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 02/01/2006, 13h32

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