Projet ActiveX dll en VB6 [Résolu]

rgilles 26 Messages postés samedi 31 janvier 2004Date d'inscription 16 novembre 2009 Dernière intervention - 17 nov. 2005 à 11:48 - Dernière réponse : rgilles 26 Messages postés samedi 31 janvier 2004Date d'inscription 16 novembre 2009 Dernière intervention
- 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
Afficher la suite 

7 réponses

Meilleure réponse
rgilles 26 Messages postés samedi 31 janvier 2004Date d'inscription 16 novembre 2009 Dernière intervention - 17 nov. 2005 à 15:03
3
Merci
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

Merci rgilles 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

cs_vpoyo 363 Messages postés vendredi 14 février 2003Date d'inscription 20 avril 2010 Dernière intervention - 17 nov. 2005 à 12:30
0
Merci
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
rgilles 26 Messages postés samedi 31 janvier 2004Date d'inscription 16 novembre 2009 Dernière intervention - 17 nov. 2005 à 12:52
0
Merci
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
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 17 nov. 2005 à 13:22
0
Merci
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/
rgilles 26 Messages postés samedi 31 janvier 2004Date d'inscription 16 novembre 2009 Dernière intervention - 17 nov. 2005 à 13:30
0
Merci
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
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 17 nov. 2005 à 14:10
0
Merci
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
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 17 nov. 2005 à 14:43
0
Merci
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/

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.