Probleme ActiveX avec Vista [Résolu]

Signaler
Messages postés
8
Date d'inscription
jeudi 8 mars 2007
Statut
Membre
Dernière intervention
21 octobre 2009
-
Messages postés
8
Date d'inscription
jeudi 8 mars 2007
Statut
Membre
Dernière intervention
21 octobre 2009
-
Bonjour a tous

J'ai fais une apllication d'auto-formation pour ma compagnie qui marche tres bien. Un Menu Vb sur lequel je places des Boutons qui ouvrent soit un PPW soit un Pdf, les sujets sont renouvelés tout les 6 mois. Tout marchait , je realise que de plus en plus j'ai des réclammations pour l'ouverture des Pdf. En cherchant je me rends compte que seul les employés qui ont migrer vers Vistq on ce Problem. Le message d'erreur est le suivant :

---- Le composant ActiveX ne peut pas créer l'objet ----

voici le code que j'utilise
Sub OpenMyPdf(MyPdfFile)
Dim myAVDoc As Object
Dim myApp As Object
 
Dim ok
 
Set myApp = CreateObject("AcroExch.App")
Set myAVDoc = myApp.GetActiveDoc 'CreateObject("AcroExch.AVDoc")
Set myAVDoc = CreateObject("AcroExch.AVDoc")
 
 
myApp.Show
ok = myAVDoc.Open(MyPdfFile, "")
 
End Sub




Merci de Votre aide

9 réponses

Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
4
Utilisation incorrecte de Me et ca me rameme a Me.hwnd.
Il est vraisemblable que ton code ne se trouve pas sur la Form copncernée, mais ailleurs (dans un module ?)
Me se réfère à la Form en cours
Si ce code n'a pas été mis sur la Form, le hwnd de celle-ci doit alors être extrait non par Me.hwnd, mais par le_nom_de_la_form.hwnd
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Salut
Trop spécifique.
Vois sur le site du créateur de "AcroExch"

Si tu ne dois faire que l'affichage du PDF, pourquoi ne pas laisser faire Windows afin qu'il trouve quel logiciel utiliser pour l'afficher ?
--> API nommée "ShellExecute"
Exemple dans <cette source>

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
je pense que les droits d'amin sont requis pour faire cette instanciation.

a tester...

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
Salut,

Regarde aussi coté compatibilité 32/64bits, vérifi que le composant est bien enregistré dans l'émulateur 32bits de Vista dans le cas d'un système Vista x64 (Google => Wow64Node, SysWow, SysWows64).

++

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
8
Date d'inscription
jeudi 8 mars 2007
Statut
Membre
Dernière intervention
21 octobre 2009

Bonjour Jack

Oui je ne que de l'afficage du Pdf ; j'ai essayé ta procédure j'ai ce message d'erreur :
Utilisation incorrecte de Me et ca me rameme a Me.hwnd.
Messages postés
8
Date d'inscription
jeudi 8 mars 2007
Statut
Membre
Dernière intervention
21 octobre 2009

Salut Renfield

Merci pour ta réponse j'ai deja entendu parler de ca mais je ne vois pas comment le faire ,, surtout que moi je fais des Cd de formations que mon entreprise distribue aux employés et donc comment savoir si chacun est Admin ou pas ? Ya t il un moyen pour le savoir ? et comment forcer ses droits si cela est possible ?


Merci
Messages postés
8
Date d'inscription
jeudi 8 mars 2007
Statut
Membre
Dernière intervention
21 octobre 2009

Salut Mayzz

merci pour ta reponse je suis entrain de regarder ca ,, je t'avoue que je suis pas fort dans ce domaine la..... Mais cela peut poser un pb les 32 et 64 bits ? comment je peux voir cet emulateur sur mon ordi ?

Merci
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
utilises tu bien VB6 et non VBA ou .NET ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
8
Date d'inscription
jeudi 8 mars 2007
Statut
Membre
Dernière intervention
21 octobre 2009

Bonjour Jmf0

Tu as raison ma fonction se trouve dans un module et elle est appleé un peu de partout , mais bon ca marche maintenant merci

A+