OCX dans le systeme32 ou dans le dossier application

[Résolu]
Signaler
Messages postés
27
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
25 février 2008
-
Messages postés
27
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
25 février 2008
-
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

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
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.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
Messages postés
27
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
25 février 2008

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.