OCX dans le systeme32 ou dans le dossier application

Résolu
BIGDAMSBIG Messages postés 27 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 25 février 2008 - 19 janv. 2008 à 01:05
BIGDAMSBIG Messages postés 27 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 25 février 2008 - 19 janv. 2008 à 15:03
bonjours a tous.

je suis débutant et je voulais savoir lors d'une utilisation
d'un ocx ou dll s'il étais possible de l'utiliser sans pour
cela y faire reference dans son code principal en simplement
le mettant dans le dossier de son apllication.

si oui comment windows procede t'il? cherche t'il dans les répertoires
sytemes.Si 2 ocx coexistent dans le systeme et dans le dossier aplication quelle ocx choisira t'il ?et comment modifi t'il la base de registre?

je pense que la reponse existe sur ce site alors
excusé ma précipitation.

car une fois connu les dll et ocx par leur dépendancent
je voudrais qu'elle ne soit pas dans le dossier system32
de windows....je veux controler la poluttion des dll de mon
systeme en faite. et que le programme me sois transparent par
l'appelle de dll ou ocx que j'utilise.

merci cela doit etre le 20 000 questions sur ce sujet

(désolé pour la mise en forme du texte mais j'ai des probleme avec
ce site).

NB : j'ai bien mis "divers débutant " pour precision a ma requete


salut

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
19 janv. 2008 à 01:16
il te faut enregistrer ton ocx pour pouvoir l'utiliser (idem si dll activeX)
tu peux très bien les enregistrer dans ton code, au début de ton programme et les libérer a la fin.
3
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 janv. 2008 à 09:14
En mettant simplement le dossier de l'OCX ?? Non ce n'est pas possible !
Tu dois d'abord l'enregistrer (regsvr32 tonocx.ocx) et tu peux ensuite l'utiliser avec ceci :
Dim monocx_obj As Object
Shell "regsvr32 monocx.ocx -s", vbHide
Set monocx_obj = CreateObject("monocx_library.monocx_class")
'Traitement ici
Set monocx_obj = Nothing
Shell "regsvr32 monocx.ocx -s -u", vbHide, ----
[code.aspx?ID=41455 Colorisation syntaxique par Renfield]
_______________________________________________________________________
VB.NETis good ...VB6is better
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
19 janv. 2008 à 10:07
Pour ce qui est des ocx, ou de dlls ActiveX, il faut qu'ils soient enregistrés pour etre utilisable. Quelque soit l'emplacement ou tu les mets, c'est celui qui sera enregistré en dernier dans la base de registre qui sera utilisé.

Pour ce qui est des autres fichiers, y compris les dlls API, la recherche de Windows est très simple. Soit tu precise une chemin à ton fichier, et il est cherché à ce chemin et uniquement ce chemin, soit tu ne precise rien dans ce cas la recherche s'effectue selon un ordre bien précis.

- Le répertoire courant, le répertoire de l'application
- Le répertoire Windows
- Le Répertoire System (généralement Windows\System32)
- Les répertoires indiqués dans la variable d'environnement Path, dans l'odre d'apparution.

La recherche s'arrete au premier fichier de même nom trouvé, que ce fichier corresponde à ce que tu cherche ou pas. Par exemple, pour les dlls, aucun critère de version n'est utiliser pour le recherche

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
BIGDAMSBIG Messages postés 27 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 25 février 2008
19 janv. 2008 à 15:03
bonjour,

merci pour ses reponses trés claires.
je dois donc forcémment les enregistrer avec regsvr32
mais je peux les placer ou je veux.

a+ et merci, je n'ai plus d'autres questions.
3