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 :

Erreur 430 La classe ne gère pas Automation ou l'interface attendue


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Erreur 430 La classe ne gère pas Automation ou l'interface attendue
    Bonjour, j'ai une application écrite en VB6 qui utilise la référence à PDFCreator.exe pour imprimer un fichier PDF.

    Dans mon code, je déclare mon objet de la manière suivante :
    Private WithEvents MonPDFCreator As PDFCreator.clsPDFCreator

    Et j'utilise donc la classe clsPDFCreator de la manière suivante :
    Set MonPDFCreator = New PDFCreator.clsPDFCreator

    Or, ceci fonctionne à merveille sur 2 PC. En revanche, j'obtiens l'erreur 430 "La classe ne gère pas Automation ou l'interface attendue" sur le poste de l'utilisateur sur lequel l'application doit tourner. J'utilise la version 0.9.3 de PDFCreator. C'est cette version qui est installée sur le poste utilisateur.
    L'erreur se produit sur la ligne Set MonPDFCreator = New PDFCreator.clsPDFCreator

    Si quelqu'un a une idée, je suis preneur.
    D'avance merci.

  2. #2
    Membre averti
    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
    Points : 328
    Points
    328
    Par défaut
    Tu est sur que le fichier (exe/dll/ocx) qui contient ta classe est bien à la bonne version ?
    Du style une install "bancale" ou l'appli PDFCreator semble correctement installée mais ou le fichier en cause n'a pas été mis à jour pour x raison.

    Un petit projet à adapter/utiliser tel quel pour trouver le fichier en cause et pouvoir vérifier ses dates & versions sur tes postes.

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci pour cette réponse rapide.
    J'ai revérifié les versions utilisées sur les 2 PC : il s'agit bien de la 0.9.3.
    Dans les 2 cas, PDFCreator est installé dans le répertoire d'installation par défaut, à savoir C:\Program Files\PDFCreator

    J'ai lancé le petit programme dont tu parles dans ton mail. Lorsque je saisie PDFCreator.clsPDFCreator, il me retourne la même chose sur les 2 PC : C:\Program Files\PDFCreator\PDFCreator.exe

    Sur le PC où l'erreur se produit, PDFCreator a été installé sous un compte qui a les droits d'administrateurs. En revanche, mon application est lancée depuis un compte qui n'a pas les droits d'admin. Cependant, il semble que le problème ne vienne pas de là car mon administrateur réseau m'a temporairement donné les droits d'admin et l'erreur se produit toujours.

    Comme toi, je pensais à une install un peu bancale de PDFCreator et je l'ai donc désinstallé puis réinstallé. Résultat : toujours cette erreur 430 !

    Au secours !

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    J'ajoute que j'ai également fait le test en étant directement connecté sous le compte Administrateur et j'ai toujours l'erreur 430. Visiblement, ce n'est donc pas un problème de droit utilisateur.
    Quelqu'un a une idée ?

  5. #5
    Membre averti
    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
    Points : 328
    Points
    328
    Par défaut
    Si tes deux "PDFCreator.exe" ont a priori le même n° de version (celui affiché dans les propriétés de l'exe), qu'en est-il pour leur date ?

    Dans les propriétés de ton projet, l'activeX référencé est bien "C:\Program Files\PDFCreator\PDFCreator.exe" ? Comme l'erreur 430 signifie (autant que je m'en souvienne) qu'un activeX référencé dans le projet diffère de celui qui est instancié à l'exécution, je verrais bien ton projet pointer sur un exe situé ailleurs et pas à la version que tu penses.

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Je te confirme que mes 2 PDFCreator ont bien la même version. Par contre, ils n'ont effectivement pas les même dates de création et de modification mais ce qui est bizarre c'est que ces 2 dates correspondent au jour et à l'heure d'installation du logiciel PDFCreator sur le PC ! Elles sont donc forcément différentes, ne serait-ce qu'à quelques minutes près...

    Cependant, j'ai réussi à contourner le problème en déclarant mon objet PDFCreator de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private MonPDFCreator As Object
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private WithEvents MonPDFCreator As PDFCreator.clsPDFCreator
    Du coup, j'ai été obligé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MonPDFCreator = CreateObject("PDFCreator.clsPDFCreator")
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MonPDFCreator = New PDFCreator.clsPDFCreator
    L'inconvénient de cette méthode est que je perds le "WithEvents" au niveau de la déclaration car non accepté avec le "As Object". L'impact, c'est que mon objet ne gère plus les évenements propre à PDFCreator, notamment l'évènement 'eReady' qui indique si le pilote d'impression de PDFCreator est occupé ou non.
    J'ai donc été obligé de gérer manuellement la remise à disposition du pilote d'impression en contrôlant par une boucle d'attente la présence de mon fichier PDF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    While Not MyFSO.FileExists(Repert_Exp & DocJoint)
         DoEvents
         Sleep 500
    Wend
    MonPDFCreator.cPrinterStop = True
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While MonPDFCreator.cPrinterStop = False
        DoEvents
    Wend
    En utilisant cette méthode, je n'ai plus besoin d'ajouter la référence à PDFCreator.exe au niveau de mon projet VB6.
    Je trouve cette méthode un peu moins propre que la première mais elle a le mérite d'être compatible avec tous les postes dont j'ai besoin !

    Si tu as une explication, je suis preneur !

  7. #7
    Membre averti
    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
    Points : 328
    Points
    328
    Par défaut
    Ben non, a part un problème de différence de version des deux PDFCreator...

  8. #8
    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
    Il y a fort à parier que l'installation sur le poste défectueux est corrompue :
    réinstalle la dll défectueuse ...

  9. #9
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Moi aussi, j'ai pensé à une installation corrompue mais j'ai complètement désinstallé puis réinstallé PDFCreator sur le poste défectueux et l'erreur 430 se produisait quand même...
    Je crois que ça restera un mystère à jamais... Enfin, pas grave puisque j'ai réussi à contourner le problème.
    Merci pour votre aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/11/2011, 21h36
  2. [XL-2007] Erreur 430 : la classe ne gère pas automation ou l'interface attendue
    Par SlySylvain dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/08/2011, 17h32
  3. erreur d'executin 430 la classe ne gere pas automation ou l'interface attendue
    Par zied.ellouze dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/07/2011, 09h46
  4. Erreur 430 La classe ne gère pas Automation ou l'interface attendue
    Par melancolie dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/05/2011, 12h33
  5. Erreur : La classe ne gère pas Automation..
    Par Invité dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/09/2004, 10h24

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