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

Installation, Déploiement et Sécurité VB Discussion :

Error 91 :object variable or with block variable not set


Sujet :

Installation, Déploiement et Sécurité VB

  1. #1
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut Error 91 :object variable or with block variable not set
    Bonsoir,
    Je viens de développer un petit programme où j'ai utilisé Access comme base de données , lorsque j'ai crée mon Setup et je l'ai installé sur un autre Pc [QUI ne contient pas VB 6 ] , ça me donne cette erreur " Error 91:object variable or with block variable not set" , mais ça marche très bien sur le PC où j'ai développé l'application
    Est ce que vous pouvez m'aider a résoudre ce problème ?

    Merci

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    La plus part du temps, on ne peux se contenter de copier l'exécutable sur la machine de destination. Il faut créer un programme d'installation.
    Vb est livré avec un assitant d'empaquetage qui fait çà.
    L'erreur que tu decris se produit parce que la machine sur le quel tourne ton programme n'a pas tous les objets necessaires.

  3. #3
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Merci de m'avoir répondu ;

    J'ai crée mon Setup grace à "Innosetup" qui offre plus de fonctionnalités par rapport a l'assistant de vb 6 . Mais le probleme c'est que j'ai cree Setup avec cet assitant (pour essayer ) et ça ne démarre pas sur ma machine et il me donne ce type d'erreur
    Images attachées Images attachées  

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Si tu crées ton Install avec l'assistant de VB, est ce que l'installation fonctionne bien ?
    Si oui, regarde les fichiers inclus dans le fichier LST généré par VB et mets les dans la section [File] avec InnoSetup.

  5. #5
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Merci ,je viens d'ajouter tous les fichiers DLL et OCX dans mon projet et ça ne marche trjs pas [ j'ai rajouté les fichiers directement dans le dossier où se trouve l'exécutable]

  6. #6
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Non, ce n'est pas comme ça qu'il faut faire. Les OCX ou DLL doivent être enregistrés pour être "reconnus" par Windows.
    Utilise l'assistant empaquetage et déploiement de VB. Celui ci va générer un fichier avec extension "lst".
    Regarde la liste de ces fichiers et ajoute les dans la section File du fichier que tu utilise avec InnoSetup.

    Tu trouveras par exemple ceci dans un fichier "lst" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    File9=@comdefinitioncontrol.ocx,$(WinSysPath),$(DLLSelfRegister),$(Shared),7/21/07 10:40:56 PM,73728,1.1.0.0
    File10=@UDPDef.ocx,$(WinSysPath),$(DLLSelfRegister),$(Shared),7/21/07 9:50:29 PM,57344,1.1.0.0
    File11=@MSCMCFR.DLL,$(WinSysPath),,$(Shared),7/13/98 1:00:00 AM,141312,6.0.81.63
    File12=@MSCOMCTL.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),3/9/04 12:00:00 AM,1081616,6.1.97.82
    Ce qui devra donner ça dans un fichier InnoSetup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [Files]
    Source: comdefinitioncontrol.ocx; DestDir: {sys}; Flags: promptifolder regserver sharedfile
    Source: UDPDef.ocx; DestDir: {sys}; Flags: promptifolder regserver sharedfile
    Source: MSCMCFR.DLL; DestDir: {sys}; Flags: promptifolder sharedfile
    Source: MSCOMCTL.OCX; DestDir: {sys}; Flags: promptifolder regserver sharedfile
    Ce n'est bien sûr qu'un exemple.

  7. #7
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Merci , je vais essayer de le faire et vous rendre la réponse .

  8. #8
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Non ça ne marche pas , ma base de données ne veut pas se connecter .

  9. #9
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Le problème est toujours présent , Est ce que vous avez d'autre solution ?

  10. #10
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    je pense plutôt à un problème de chemin vers ta base dans ton programme VB
    mais fais quand même voir ton script InnoSetup (complet), on ne sait jamais

  11. #11
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    En fait , je sais ou se trouve le probleme mais je ne sais pas comment le resoudre ,

    IL Y A UNE CONNEXION AVEC MA BASE DE Données , mais je ne peux pas consulter les enregistrements , alors quoi faire ?

    Quel est l'objet qui est responsable pour effectuer cette connexion ? ,

  12. #12
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par Eausport Voir le message
    Quel est l'objet qui est responsable pour effectuer cette connexion ? ,
    Ma boule de cristal (empruntée à Delbeke ) me dit ..... rien, en panne !!!

  13. #13
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 639
    Points
    16 639
    Par défaut
    je l'ai installé sur un autre Pc
    .................
    mais je ne peux pas consulter les enregistrements
    Si tu es sous VISTA, essais de démarrer le programme en super administrateur, bouton droit sur le ficher exe, répondre a la fenêtre qui apparaît en validant exécuter en tant qu'administrateur.
    Si cette condition de démarrage te permet d'utiliser ton programme normalement, je pense, mais n'en suis pas sûr à 100/100, il faudrait peut être autoriser ta BD pour "tout le monde", et essayer par la suite d'ouvrir ton programme en mode normal.

  14. #14
    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
    Citation Envoyé par Eausport Voir le message
    .../...
    Quel est l'objet qui est responsable pour effectuer cette connexion ? ,
    Cela ne résoudra pas le problème original et ce n'est pas le sujet, mais il existe plusieurs règles qu'apparemment tu ne suis pas :
    - vérifier les variables afin d'intercepter les erreurs avant qu'elles ne se produisent
    => par exemple, si un object n'est pas affecté, difficile ensuite de faire référence à ses méthodes,
    il est donc utile de vérifier après instanciation que l'object n'est pas à Nothing avant de poursuivre
    - mettre en place un système de gestion des exceptions qui prenne en charge les différents contextes dans chaque procédure
    (exécution en mode runtime, en mode compilé, local ou distant)
    => lourd mais très facilité avec des outils comme MZ-Tools qui permet de copier-coller rapidement des blocs de codes adaptés
    pour peu qu'on le croise avec la compilation conditionnelle
    - tester, retester et retester encore avant de déployer afin de différencier rapidement s'il s'agit d'une erreur de programmation ou d'une erreur de déploiement
    => bon, disons que dans ce cas, tu testais sur une autre configuration système
    mais comme l'erreur levée ne permet pas de savoir s'il s'agit de l'un ou l'autre cas et qu'elle reste possible ... lol

Discussions similaires

  1. Object Variable or With block variable not set
    Par Absolem dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/09/2013, 17h05
  2. Run time error 91 in vb:object variable or with block variable not set
    Par azzouz90 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/09/2011, 01h40
  3. Réponses: 4
    Dernier message: 14/04/2011, 16h32
  4. Erreur (object variable or with block variable not set), Aide ADODB
    Par Louis.Gruhn dans le forum Général VBA
    Réponses: 6
    Dernier message: 21/12/2010, 10h21
  5. [VBA-E] Erreur "Object variable or With block variable not set"
    Par @lex(is) dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/06/2006, 12h39

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