Utilisateur anonyme
-
20 août 2007 à 16:33
snipeurcoq
Messages postés5Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention18 décembre 2009
-
11 mars 2008 à 13:50
Bonjour,
J'ai un petit problème d'enregistrement avec un activeX (SetACL.ocx). Celui-ci fonctionne très bien seulement au premier appel on doit l'enregistrer via la commande regsvr32.exe SetACL.ocx.
J'aimerais savoir s'il est possible de faire en sorte qu'il s'enregistre automatiquement CAD sans "intervention humaine" (inscription dans la BDR peut-être, ou déclarer quelque chose dans le projet, ou ???)
J'ai essayé plusieurs choses mais sans succés pour l'instant...
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 20 août 2007 à 17:29
Salut,
C'est facile. Il suffit d'appeler la fonction DllRegisterServer() exportée par l'ocx. Voici un exemple:
// Définir un type de pointeur pour notre fonction:
typedef HRESULT (WINAPI* fonction) (void);
// Charger l'ocx:
HINSTANCE hocx=LoadLibrary("c:\\SetACL.ocx");
// Récupérer l'adresse de la fonction:
fonction RegisterServer =(fonction)GetProcAddress(hocx,"DllRegisterServer");
// Appeler la fonction:
HRESULT res=RegisterServer();
// Libérer l'ocx:
FreeLibrary(hocx);
Si l'activex a été correctement enregistré, la fonction retournera 0.
L'opération inverse est assurée par la fonction DllUnregisterServer().
snipeurcoq
Messages postés5Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention18 décembre 2009 11 mars 2008 à 13:50
Bonjour,
je suis débutant dans les activex. Je voudrais savoir comment vous avez fait pour enregistrer automatiquement votre activex.
J'explique le contexte de mon projet.
J'ai un activex qui doit être téléchargeable d'une page Internet. Internet Explorer me demande si je veux installer l'activex de la page. Après lui avoir répondu "installer", l'activex ne marche toujours pas et je ne le vois pas dans la base de registre.
Cet activex a été développé en c++, sous un environnement visual studio 2003.
Je voudrais savoir si mon problème vient des postes de travail ou si c'est les fonctions d'enregistrement de l'activex qui marche pas.