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 :

Créer une référence dynamiquement


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 129
    Points : 119
    Points
    119
    Par défaut Créer une référence dynamiquement
    Bonjour à tous !!!

    J'ai un gros souci ! Mon applciation est terminée et elle utilise la référence Microsoft Access 11.0 Object Library. Celle ci existe sur les postes de l'entreprise mais n'est pas activée !
    Je souhaiterai savoir s'il est possible de les activer dynamiquement (le chemin étant, dans C:\ Program Files\Microsoft Office\OFFICE11\MSACC.OLB)


    Je vous remercie vraiment par avance !!

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    Mais une fois qu'un exécutable est généré, y'a plus besoin des bibliothèques qui t'ont servi à le faire, si ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    ben si lol

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et c'est quoi que tu appelle activée..? ou pas sur un poste ..?

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    Vld44 >> Ben enfin ça veut dire que si tu fais un programme avec VB en utilisant certaines bibliothèques, ceux qui ont pas les bibliothèques sur leur PC peuvent pas l'exécuter ?

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 129
    Points : 119
    Points
    119
    Par défaut
    Bonjour !

    En fait, le fichier MSACC.OLB existe squr les postes donc pour cela, pas de soucis. Le problème c'est que je ne peux pas vérifier si cette référence est par défaut coché car ces postes n'ont pas VB6.

    J'ai mis des messages partout dans mon programme pour savoir à quelle ligne exactement ça plante, et c'est sur le "BuildCriteria". Cette commande necéssite la référence MSACC.OLB c'est à dire Microsoft Access 11.0 Object Library.

    Nous avons toutes les raisons de penser que cette référence n'est pas activé sur ce poste.

    Merci d'avance !!!

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ce fichier : MSACC.OLB ... il est au même endroit sur tous les postes..? comment à t'il été installé..?

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 129
    Points : 119
    Points
    119
    Par défaut
    Sur chaque poste au même endroit oui :
    C:\Program Files\Microsoft Office\OFFICE11\MSACC.OLB

    par contre comment il a été installé..... j'en sais rien

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par Gaetch
    Vld44 >> Ben enfin ça veut dire que si tu fais un programme avec VB en utilisant certaines bibliothèques, ceux qui ont pas les bibliothèques sur leur PC peuvent pas l'exécuter ?
    Exactement.

    Cela amène l'erreur suivante :

    (je vais l'écrire de façon exhaustive pour l'outil de recherche du forum, car la question revient souvent)

    Erreur d'exécution 429 : Le composant ActiveX ne peut pas créer l'objet

    Run-Time Error 429: ActiveX component can't create object


    D'où la livraison des DLLs dans le package de l'application quand c'est nécessaire.

    Après y'a un problème connexe, c'est la version des DLLs existantes sur les PC clients et celle des DLLs utilisées pour compiler l'appli ... Mais c'est une autre histoire

  10. #10
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 129
    Points : 119
    Points
    119
    Par défaut
    J'ai trouvé un bout de code pour ajouter une référence en VBA excel, mais je n'arrive pas à trouver la syntaxe pour vb6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'Ajoute la référence Outlook pour OfficeXP
    Dim x As String
    x = "C:\Program Files\Microsoft Office\Office10\MSOUTL.OLB"
    ThisWorkbook.VBProject.References.AddFromFile x
    Quelqu'un a t'il une solution, j'ai déjà essayé plein de trucs....

  11. #11
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    ben sans le message d'erreur, on peut rien pour toi.

  12. #12
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 129
    Points : 119
    Points
    119
    Par défaut
    l'erreur est :
    "AddBranch_v1 : 513: AddBranch_priv_v1 : 513: AddBranch_priv_v1 : 429: ActiveX component can't create object"

    la gestion d'erreur est faite dans une de mes fonction, il faut retenir :
    "429: ActiveX component can't create object"

  13. #13
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 129
    Points : 119
    Points
    119
    Par défaut
    donc je pense que le problème vient bien de la référence manquante...

  14. #14
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    Ben alors s'il fait un package avec les librairies qu'il utilise ça sera bon non ?

    Vld44 >> Moi je pensais que quand ça compilait ça incorporait les dll dans le code :/ *à l'ouest*

  15. #15
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 129
    Points : 119
    Points
    119
    Par défaut
    J'ai pas tout suivi
    Comment ça un package?

  16. #16
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    En fait, c'est compliqué COM

    De deux choses l'une.

    1) le soft de janny utilise des DLLs propriétaires, conçues pour l'occasion.
    => Il faut faire un installeur qui intègre ces DLL avec l'application, qui les enregistre dans la base de registre au moment de l'install
    Facile.

    2) le soft de janny utilise des DLLs publiques, telles que celles d'office, et là c'est la galère si ses postes clients n'utilisent pas les mêmes versions d'office ..

    En fait, si c'est le cas numéro 2, l'application doit avoir été compilée en utilisant les mêmes versions des DLLs que celles du poste de développement.

    Normalement, on de devrait pas avoir à faire ça. Une DLL est sensée respecter le principe de compatibilité descendante, stipulant que toute nouvelle version ne doit pas empêcher de fonctionner les applis exploitant les plus anciennes ... Mais bon dans la pratique c'est assez mitigé, on trouve autant de softs qui respectent ça que le contraire.

    Janny il faut vraiment que tu identifies tes DLLs, à partir du poste de DEV.
    Il faut ensuite faire une comparaison entre celles utilisées pour la compilation et celles des postes clients pour trouver la faille.

    Note : quand je dis DLL, faut comprendre composant Activex soit DLL activex, EXE activex ou contrôle OCX

  17. #17
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    Janny >> Ben un package d'installation qui contient les librairies nécessaires. Enfin je sais pas comment on fait ^^

  18. #18
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    Vld44 >> Mais même si c'est des librairies publiques, s'il les intégre quand même ça fait quoi ? Où alors s'il fait ça, elles écraseront celles qu'il y a déjà sur le poste (et donc ça posera le pb de compatibilité descendante tout ça) ?

  19. #19
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 129
    Points : 119
    Points
    119
    Par défaut
    Merci Vld44

    j'ai une procédure pour activer les .dll, .ocx... donc pour cela pas de souci !
    Le problème c'est que la référence qu'il me faut est .olb !!!!!!!!!!!
    et là ça ne marche plus !!

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Les .olb sont des composants Office. Tu dois les intégrer à ton package mais les postes déployés doivent obligatoirement avoir une version au moins aussi récente de l'application Office dont tu intégres le composant.

    Ex : tu insères MSOUTL.OLB version 10 dans ton empaquetage (Offce 2002 il me semble), les postes déployés doivent posséder une version d'Office 2002 ou supérieur (compatibilité oblige) pour fonctionner.

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

Discussions similaires

  1. [VBA/VB] créer une page dynamiquement dans un WebBrowser
    Par SilkyRoad dans le forum Contribuez
    Réponses: 3
    Dernier message: 13/03/2013, 22h24
  2. [reports] comment créer une requete dynamiquement
    Par lifeisgood dans le forum Reports
    Réponses: 4
    Dernier message: 31/01/2007, 12h15
  3. [Tableaux] Créer une ligne dynamiquement
    Par Lenaick dans le forum Langage
    Réponses: 11
    Dernier message: 24/01/2007, 10h58
  4. [WebForms]créer une formulaire dynamiquement
    Par lamiae18 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 16/01/2007, 18h43
  5. [VS2005][WS]Créer une référence web dynamique
    Par virgul dans le forum Visual Studio
    Réponses: 5
    Dernier message: 24/08/2006, 16h16

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