OCX DLL Utilisation en cours d'execution du programme

Résolu
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011 - 23 sept. 2005 à 23:19
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 11 févr. 2006 à 16:37
Salut a tous,

Je voudrais savoir comment on peu utiliser une dll ou ocx si on ne la pas enregistrer dans les references ni dans les composants



Une solutions ma été proposé mais je n'arrive pas a utiliser cette fonction :

CreateObject

La seule fois que j'utilise cette fonction s'est pour la base de registre :

Dim Ws as Object

Set Ws = CreateObject("Wscript.Shell")

Wscript est un logiciel (exe) et Shell surement une classe

Mais pour une ocx sa ne marche surement pas pareil ?



Merci a tous et a plus !



Thyrael

22 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 oct. 2005 à 23:55
bien sûr que çà marche, elle est enregistrée.
tu n'as donc pas besoin d'utiliser un CreateObjet.
bref, je comprend pas tout, mais si c'est ok pour toi, tant mieux
PCPT
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 sept. 2005 à 23:32
salut,
on ne peut pas.
PCPT
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
24 sept. 2005 à 01:07
WScript n'est pas un exe !! C'est un activeX !! WScript.shell représente l'objet de classe Shell de l'activeX WScript
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
24 sept. 2005 à 09:12
En ActiveX, tu n'as pas le choix : il faut enregistrer la dll ou l'ocx
pour pouvoir l'utiliser, que ce soit en EarlyBound (donc avec une
référence sous VB) ou en LateBound (donc avec ta méthode de
CreateObject).


Si tu veux vraiment faire des dll qui n'ont pas besoin d'être
enregistrée, il faudras passer aux dll C beaucoup moins souples, mais
plus rapides.

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0

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

Posez votre question
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 22:25
Oui mais si on prend des logiciel comme winamp windows media player qui utiliser des dlls, quand on fais une mise a jours d'un plug-in on il ne refon pas toutes l'application pour déclaré une Dll (en même temps s'est du c++ enfin je croit) si il peuvent le faire en c en c++ en asm en se que vous voulez on doit pouvoir le faire sur du VB comme le CreateObject

Si on fait du VBS (Visual Basic Script) les exemples de windows montrer le lancement de excel et la modification d'un tableau, j'ai essayer de même avec mes application et je n'y suit pas arrivé (sources sur Win98 recherche : *.vbs)

Merci de vos aides

PS:Crenaud76 ("C:\WINDOWS\system32\wscript.exe") existe se n'est peu etre pas la ou il prend la fonction mais il existe !
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 oct. 2005 à 23:00
salut
tes exemples sont mauvais.
et tu confonds apparemment utiliser sans enregistrer, et enregistrer dynamiquement....

fait une application qui scanne au démarage (en module) toutes les dll qu'elle a dans un dossier précis.
on peut supposer qu'elle enregistre toutes les dll de ce dossier. tu peux donc les utiliser. c'est le principe du Plug-In.
çà ne change rien au fait que tu ne peux pas les utiliser sans les enregistrer

PCPT
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 23:02
Donc je doit enregistrer (pendant l'executions du programme) les dlls et ocxs ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 oct. 2005 à 23:03
ouai, çà tu peux.
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 23:04
Et comment alors ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 oct. 2005 à 23:15
je ne vois plus du tout où tu veux en venir par rapport à ce que tu disais au départ.
bref.

disons que ta Form1 est ta feuille de démarrage
tu créés un module Mod_Main

dedans, une procédure :




'module de démarrage
Public Sub Main()
'un seul lancement de l'appli
If App.PrevInstance Then End

'enregistrement dll/ocx -- (Thx DarkSidious)
Shell ("RegSvr32.exe -s " & App.Path & "\AFCK_AnimCur.dll")
Shell ("RegSvr32.exe -s " & App.Path & "\AFCK_Timer.ocx")

'affiche la form principale
Form1.Show
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


et dans tes options de projet, tu sélectionnes ton Sub Main

PCPT
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 23:18
Eu et comment j'utiliser les fonction propre a chacune ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 oct. 2005 à 23:26
et nous voici donc au point que je ne pouvais comprendre...

le principe d'enregistrer en dynamique est que bien sur, tu dois prévoir avant le format et les fonctions des DLL ActiveX ajoutées.
ton soft doit donc être capable de les ajouter et de les intégrer, et c'est la DLL elle-même quit doit s'auto-gérer, et non plus ton appli

PCPT
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 23:36
Pas tous compris !!!
lol
Mais je peu bien utiliser une ActivX wscript excel word ... et je ne l'ai pas enregistrer !
Exemple a voir si sa marche :

Dll (en vb)
Nom interne : DllTeste
Nom du fichier : Yo.dll
Nom de classe: Teste

<HR>
public function PtitFunc (byval Arg as string) as long
Msgbox Arg
PtitFunction = 1
end function


<HR>


Exe (en VB)


<HR>

Public sub ExecFunc ()
Dim Tst as ObjectSet Tst CreateObject("DllTeste.Teste") ou Set Tst CreateObject("Yo.Teste")
Tst.PtitFunc "Yo sa marche ou pas ?"
End sub


<HR>

Alors qu'en pense tu ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 oct. 2005 à 23:40
j'en pense que çà ne marchera pas
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 23:41
Ok je vais essayer tt de suite
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 oct. 2005 à 23:42
à la limite, selon ce que ton utilisation laisse penser, je ne vois pas pourquoi tu veux ne pas enregistrer la dll
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 23:42
???
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 23:47
Tsè koi sa march a merveille !
SA MARCHE !!!
merci de ton aide :

exe

<HR>
Shell ("RegSvr32.exe -s D:\Program Files\Microsoft Visual Studio\VB98\teste.dll")
DoEvents
Dim S As Object
Set S = CreateObject("Teste.testecls")
MsgBox S.yo

<HR>
dll
nom = Teste
Classe=TesteCls

<HR>
Public Function Yo() As String
Yo = "Sa marche"
End Function

<HR>
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
4 oct. 2005 à 23:57
Lol merci pour tous !
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
11 févr. 2006 à 14:35
Salut à vous 2
j'aimerais savoir s'il est possible de faire la meme chose avec des ocx, j'ai essayé la meme démarche que vous mais je n'arrive à rien. Et comme ce sont des controles que je veux charger (et non pas des dll), je ne sais pas quoi faire???
Merci d'avance

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st
0
Rejoignez-nous