Compilation de DLL

Résolu
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 - 9 oct. 2006 à 13:09
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 10 oct. 2006 à 09:07
Amis développeur bonjours,

J'ai une application qui fonctionne avec une DLL que j'ai dévélopper et un composant que j'ai aussi développé qui utilise cette même DLL. J'ai deux problèmes qui m'embètent beaucoup et je ne sais pas s'il existe une solution :
Le premier est que à chaque fois que je compile ma DLL, je n'arrive pas à ouvrir mon application sous VB sans recompiler aussi mon composant...
Le second est que à chaque fois que je compile ma DLL, il faut que je recompile d'abord le composant et l'éxécutable pour pour lancer mon application à partir de l'exe...

Je pensais qu'il était possible de travailler sur une DLL et proposer seulement une mise à jour de celle-ci dans le cas ou je suis amené à la recompiler...

Est-ce que mon problème restera problème toute ma vie ou alors je m'y prend mal ?
Merci de m'éclairer sur ces aspects.

 Fiko ;-)

Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance./FONT>

5 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
9 oct. 2006 à 13:27
Salut,
Sinon ce que tu peux essayer lorsque tu développes tes propres dll et (surtout) tes propres composants en Visual Basic c'est utiliser la Compatibilité Binaire.

Lorsque tu as développé (et compilé) une première version de ton OCX.
Tu peux dans le menu Projet => Propriétés de NomComposant.Ocx

Onglet Composant. Selectionner dans Compatibilité de version, le mode Compatibilité Binaire.
Ce qui te permetra de recompiler avec les meme clé comme mise a jour

J'espere que je me suis bien exprimer et que je n'ai pas trop fait d'erreur.

@+,   Ju£i?n
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
9 oct. 2006 à 13:16
S'il s'agit d'une DLL ActiveX, oui, à chaque compilation, la dll voit sa référence changée. Et comme elle est enregistrée par sa référence dans le projet VB, il faut recompiler le projet ensuite pour qu'il utilise la nouvelle référence. C'est le même phénomène qui se passe surrement avec ton composant.

Par contre s'il s'agit d'une dll classique, ce problème ne devrait pas se présenter. Une dll classique peut etre recompiler et mise à jour autant de fois que tu veux, tant que l'interface publique (les fonctions exportées) n'est pas modifiée.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 oct. 2006 à 13:32
Non, julien, c'est très bien ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
10 oct. 2006 à 07:24
Merci pour vos réponses précises. Je me permet une autre question :
C'est quoi la différence entre une dll ActiveX et une dll classique ?

 Fiko ;-)

Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance./FONT>
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 oct. 2006 à 09:07
une Dll Classique ne fait qu'exporter des fonctions, etc (Declare function .....)

une Dll ActiveX necessite un enregistrement en base de registre, et s'ajoute au niveau des references, dans ton projet.
elle donne accès a des objets COM

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous