Projet ActiveX dll en VB6

Résolu
rgilles Messages postés 26 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 novembre 2009 - 17 nov. 2005 à 11:48
rgilles Messages postés 26 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 novembre 2009 - 17 nov. 2005 à 15:03
Salut a tous,

J'aimerai savoir si quand on creer la dll de facon a l'utiliser dans une autre appli exemple addin dans un autre soft est ce que
les references seront prisent en compte de la meme maniere que quand on creer un exe.

Ma question vient du fait que j'ai une appli sour forme de dll destinné a fonctionner en Addin sur un soft de CAO et qui ce connect a une base de donnée Access, sauf que cela fonctionne sur les PC ayant VB d'installé sinon erreur 713 la class n'est pas enregistrer.

Si quelqu'un a une idée merci de me repondre.

rgilles

7 réponses

rgilles Messages postés 26 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 novembre 2009
17 nov. 2005 à 15:03
Merci beaucoup de votre aide mais j'ai trouver il suffisait de generer les dependances de l'appli puis de rechercher sur un pc ou l'appli ne fonctionnait pas qu'elle dll manquait (pour mon cas MSBIND.dll n'existait pas).

Un copier coller de la dll sur mon poste plus regsvr32.exe a resolu le probleme.

Merci a tous ceux qui mon aider car vos remarque mon mis sur la piste des dependances.

Bonne Prog et merci VBFrance

rgilles
3
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
17 nov. 2005 à 12:30
Je pense qu'il faut enregistrer la dll dans la base de registre avec la commande regsrv32

voila le lien vers la doc microsoft pour la syntaxe :
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/fr/library/ServerHelp/cbd1c026-0b9d-43c4-a38c-a03b508204d9.mspx
0
rgilles Messages postés 26 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 novembre 2009
17 nov. 2005 à 12:52
Merci de ton aide vpoyo,

mais je l'ai deja fais mais cela ne change rien.

De plus j'ai remarqué que le fait de rajouter des references dans mon projet ne change en rien la taille de la dll.

Donc je me demande si je ne dois pas copier les dll de mes references pour les joindre a dossier final de mon appli mais je ne vois pas comment cela pourrais me depanner car comment l'appli va savoir que les dll sont dans le dossier concerné.

Si tu a ou si quelqu'un connait le probleme merci de votre aide.
rgilles
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 nov. 2005 à 13:22
Lorsque tu rajoute des références ta dll, c'est l'exe compilé qui est
renseigné de quelle dll il a besoin, et non le contraire, donc c'est
normal que la taille de la dll reste la même (encore heureux !).



Par contre, si tu rajoute une référence à ta dll, il faut déployer ta
dll avec ton exe, et l'enregistrer dans le registre avant de pouvoir
utiliser ton exe normalement (regsvr32).

_____________________________________________________________________
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
rgilles Messages postés 26 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 novembre 2009
17 nov. 2005 à 13:30
Merci de ta reponse DARKSIDIOUS mais je ne comprend pas tu me parle exe (il faut déployer ta dll avec ton exe) alors que moi je compile ma dll dans VB6 puis je l'enregistre avec REGSVR32 alors comment faire pour que les references soient prisent en compte, car j'ai le probleme que sur les pc sans vb.

Alors comment toi ferais tu?

Désolé si j'insiste mais je ne comprend pas
rgilles
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
17 nov. 2005 à 14:10
Je vais essayer de répondre à sa place. Comme ça, il serat pas d'accord et il aura raison.

La dll sert de lieu de stockage de code compilé.
Ensuite, ont peu accéder à ce code compilé à partir d'un .exe en référençant la dll dans le projet de l'exe.
Lors de la référenciation, l'exe récupère des informations sur la dll, telles que les fonctions accessibles ainsi que leurs arguments. Ces informations te permettent d'utiliser la dll depuis ton exe. La dll n'est absolument pas modifiée.

Comment l'exe trouve une dll ActiveX sur un PC ? Grace à la base de registre. Il cherche dans la base de registre le chemin d'accès de la dll. Ce chemin n'apparaît pas tout seul ! Les clés sont crées automatiquement lors de la compilation de la dll par VB6. Sinon, regsvr32 peut aussi installer une dll.

Cependant, si tu veux que n'importe puisse installer ton appli (C'est à dire installer sans utiliser regsvr32) il faut que tu utilises un prog d'installation.

Par exemple :
http://www.progotop.com/dks/cours/TUTORIAL_Setup_VB6_InnoSetup_ISTools.pdf

Sinon, j'ai essayer de résumer ce qu'il faut savoir sur les dlls ici:

http://www.vbfrance.com/code.aspx?ID=32111
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 nov. 2005 à 14:43
non rt15, je suis d'accord avec toi ;)



C'est un bon résumé de l'utilisation de dll ActiveX que beaucoup
devrait lire avant de se lancer tête baissée dans la création de dll
avec VB !

_____________________________________________________________________
DarK Sidious

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