Cet objet ne gère pas cette méthode

Signaler
Messages postés
4
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
11 décembre 2006
-
Messages postés
4
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
11 décembre 2006
-
Bonjour,

J'ai un souci avec un ActiveX.
C'est un petit bout de code servant à imprimer un pdf via Adobe Reader sans demande de confirmation. Au final, l'ActiveX recevera une centaine d'appel de la fonction. L'activeX fonctionne sur mon poste et sur 10% des comptes utilisateurs mais pour les autres, IE affiche le message d'erreur Cet objet ne gère pas cette méthode
Je pense que c'est une histoire de droit. Est ce que l'un d'entre vous à déjà eut un problème similaire et comment il l'a résolu.

Merci

voila l'intégralité du code de l'ActiveX [VB 6]
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Public Sub GoImprime(unChemin As String)
Dim teste As String
teste = UCase$(Right$(unChemin, 3))

If teste = "PDF" Then
Dim Retour As Long

Retour = ShellExecute(hwnd, "print", unChemin, vbNullString, vbNullString, 1)

End If
End Sub

voila le code source de la page web

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">

<script language="javascript">
function imprimer() {
UCImprime1.GoImprime("file://server9/Documents/GED/06333000862-622.pdf");

}
</script>
</HEAD>

<OBJECT id=UCImprime1 style="LEFT: 0px; WIDTH: 1px; TOP: 0px; HEIGHT: 1px" codeBase=../Composants/UC-imprime.ocx
height=300 width=300 classid="CLSID:FCACE9C1-593E-4A91-98DA-0B84D79C9F6C" VIEWASTEXT>

</OBJECT>

Impression en cours ...

Veuillez patienter jusqu'à la fin des impression avant de fermer cette fenêtre.

</HTML>

6 réponses

Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
Salut,
Je pense que c'est des choses que tu as déjà vérifié mais on ne sait jamais :
Est-ce que ton activeX est enregistré sur tout les comptes, ou plutôt, comment as-tu enregistrer l'activeX
Est-ce que les 10% qui marchent sont des comptes admin
Existe-il un Setup de l'appli ?
 Fiko ;-)

Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance./FONT>
Messages postés
4
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
11 décembre 2006

salut,
L'activeX est installé à partir du compte utilisateur et via la page web donnée.
Les 10% sont bien admin de leur machine.
Il n'y a pas de setup.

Quels sont les droits minimums nécessaires ?

sinon, on m'a donné cette méthode qui ne fonctionne pas.


Windows Ragistry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{FCACE9C1-593E-4A91-98DA-0B84D79C9F6C}]
"Compatibility Flags"=dword:00800000
[HKEY_CLASSES_ROOT\CLSID\{FCACE9C1-593E-4A91-98DA-0B84D79C9F6C}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
"409"=""Controls that are safely scriptable""
"800"=""Safe for scripting""
Messages postés
168
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
28 juillet 2009
1
Bonjour

Je suppose aussi que tu l'as vérifié mais : es-tu certain que la DLL qui est registrée chez ton utilisateur correspond à la dernière version de celle-ci?

Je m'explique : je développe également des DLL et parfois j'ai le même message que toi.   Ceci est dû au fait que la méthode que j'appelle n'est pas connue chez mon client qui a une vieille version de ma DLL.   Il m'arrive de devoir manuellement faire un "regsvr32 -u" pour forcer la désinstallation.   Ensuite, je reenregistre la DLL et le message n'apparaît plus.

Christophe
Messages postés
4
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
11 décembre 2006

Il n'y a qu'une version de l'ActiveX.
C'est bien un problème de droit. Je viens de tester sur une "machine sortie d'usine" et il m'affiche le message d'erreur. Cet objet ne possède pas cette propriété ou cette méthode.

Est-ce qu'un ActiveX a besoin des droits d'écriture dans la base de registre ?
Messages postés
168
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
28 juillet 2009
1
Un truc bête : as-tu vérifié que l'activex est bien enregistré ?    T'est-il possible d'ouvrir la Registry du PC et de faire une recherche sur "UC-imprime.ocx" afin de voir si tu y trouves une trace ?

En tout cas, je suis sûr que l'utilisateur doit avoir un minimum de droits d'écriture sur la registry car comment, sinon, l'OCX pourrait-il être enregistré ?

Christophe
Messages postés
4
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
11 décembre 2006

L'ActiveX est bel et bien installé. Il semblerait que c'est lié au Protected Mode de Windows XP qui interdit l'accès à certaines DLL. Pourtant, sur la doc, shell32.dll n'est pas bloquée. Je tourne en rond /o\