cs_salazar
Messages postés241Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention19 février 20062 21 janv. 2005 à 10:57
Pour cloturer cette question, je n'ai pas trouver la réponse !
Cependant, je peux le faire en écrivant un fichier temporaire sur le disque dur (au lieu de l'écrire en mémoire). Ca fonctionne très bien !
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 janv. 2005 à 11:41
Déclare ta variable en public dans ta classe de dll, ou si tu veux
garder l'encapsulation, utilise des propriétés Get/Let toujours dans ta
classe, mais cette fois-ci avec une variable private.
DarK Sidious
[Administrateur et responsable VB/API du site ProgOtoP]
cs_salazar
Messages postés241Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention19 février 20062 17 janv. 2005 à 12:52
Ma DLL est composée d'une class et d'un module. Si je comprends bien, je dois déclarer en Public ma variable uniquement dans la class et pas dans le module. => Je sais faire.
Que dois-je déclarer dans mon programme qui doit lire le contenu de cette DLL ? Comment faire dialoguer cette DLL et mon programme ?
Merci de ton aide, car je n'arrive pas à trouver d'infos...
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 janv. 2005 à 13:01
C'est simple : Compile ta dll, ensuite crée une référence à ta dll dans
ton projet qui doit l'utiliser (Menu Projet/Références), et ensuite, il
te suffit d'instancier ta classe :
Dim oObjet As New CClass
let oObjet.Variable = Valeur
DarK Sidious
[Administrateur et responsable VB/API du site ProgOtoP]
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_salazar
Messages postés241Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention19 février 20062 17 janv. 2005 à 14:39
Dans le principe tes conseilles fonctionnent bien, mais les variables lues par mon programme restent inchangées (affichage via Debug) quelques soit la valeur de celles de la DLL (affichage via msgbox).
J'ai essayé tout ce que je peux, du moins pour ce que je connais. Mais je n'y arrive pas, et je ne comprends pas pourquoi ???
Je fais une adaptation de la source de 15669 EBArtSoft (que t'as commenté) =20732 : http://www.vbfrance.com/code.aspx?ID=20732 Dans cette source, un projet créé la DLL, le 2ème projet l'installe. Donc, j'ai créé un 3ème projet qui scrute via un Timer les variables de la DLL.
STP peux tu m'aider, je suis dessus depuis 4 jours et je n'y arrive pas...
Merci d'avance.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 18 janv. 2005 à 18:33
J'ai laissé un message sur ta source : je ne vois pas ce qui ne marche
pas malheureusement ! Je pensais au premier abord qu'il s'agissait de
l'instance de la classe qui était différente de celle qui modifiais la
valeur de Etat, mais non. Là je ne vois pas ce qui flanche !
DarK Sidious
Administrateur et reponsable VB/API du site www.ProgOtoP.com
cs_salazar
Messages postés241Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention19 février 20062 19 janv. 2005 à 11:38
Bonjour DarK Sidious, aurais tu un code à me présenter qui utilise une DLL et un autre pgm qui lit son contenu (ce que je cherche à faire) ? Il faut que je vois comment d'autres ont fait pour que je comprenne mon pb.
Sur le site je n'ai rien trouvé, mais j'ai peut etre mal cherché. Et, sur le web, je n'arrive pas à trouver d'exemple gratuit... Je finirai bien par trouver !
Je ne t'embeterai plus après.
cs_salazar
Messages postés241Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention19 février 20062 19 janv. 2005 à 16:50
Le fait d'utiliser le terme New génère la création d'une class battie sur la class incluse dans la DLL. Donc, toutes les variables sont initialisées à To et invariantes dans les temps.
Avec New, on utilise le contenu de la class comme si c'était un module supplémentaire à notre pgm.
J'ai fait une DLL, battie sur tes conseils, qui compte en boucle de 1 à 65535. Et le pgm vient lire les 100 premières valeures à n'importe quel moment. Il affiche tjs les memes chiffres.
Ca ne résoud pas mon problème. Je ne sais toujours pas lire dans une DLL active...
HELP ME...