Cet objet ne gère pas cette méthode

zragg Messages postés 4 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 11 décembre 2006 - 4 déc. 2006 à 16:02
zragg Messages postés 4 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 11 décembre 2006 - 11 déc. 2006 à 11:55
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

fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
4 déc. 2006 à 18:41
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>
0
zragg Messages postés 4 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 11 décembre 2006
5 déc. 2006 à 09:25
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""
0
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
5 déc. 2006 à 12:34
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
0
zragg Messages postés 4 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 11 décembre 2006
5 déc. 2006 à 16:39
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
7 déc. 2006 à 12:00
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
0
zragg Messages postés 4 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 11 décembre 2006
11 déc. 2006 à 11:55
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\
0
Rejoignez-nous