begin process at 2012 02 15 10:08:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Divers

 > 

Comment séparer les instances d'une DLL en mémoire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment séparer les instances d'une DLL en mémoire

samedi 22 janvier 2005 à 23:54:57 | Comment séparer les instances d'une DLL en mémoire

blq


Bonjour,

Comment séparer les instances d'une DLL en mémoire en VB6 (SP5).

Vopila mon souci :  j'ai créé un DLL qui ouvre un fichier et qui permet de renvoyer des lignes de ce fichier. D'un prog Exe j'appel la DLL pour récupérer l'info souhaitée ainsi.

Dim theObj as New theLib.TheClass
Dim theLine as String

Call theObj.OpenFile(theFile)
theLine = theObj.GetLine(1)

Cela fonctionne trés bien !

Le problème vien ensuite si j'ouvre 2 fichiers sur 2 objets différents.

Dim theObj1 as New theLib.TheClass, theObj2 as New theLib.TheClass
Dim theLine as String

Call theObj1.OpenFile(theFile1)
Call theObj2.OpenFile(theFile2)

theLine = theObj1.GetLine(1)

Dans ce cas theLine est celui de fichier 2 et non du fichier 1.

J'ai bien compris le souci, les dernières données lues sont celles conservées et renvoyées.  A priori, je dirais que c'est la DLL qui est mal foutue, mais pourquoi Ovj1 et Obj2 pointent sur les même valeurs alors qu'a priori il y a deux déclartions (New) différentes. J'ai essayé des tas de paramêtres (MultiUse, Global, Thread Cloisonnée, 1 seule Thread, etc.), enfin plein de truc et config, mais rien ne change.

Quelq'un aurait-il une piste, un tutorial, une info, une FAQ, un forum (etc.) qui permetrait d'avoir 2 instances disjointes ? Car j'ai eu beau lire la Doc, il y a quelque chose que j'ai pas compris ou que je n'ai pas fais.

Merci d'avance !

BLQ
dimanche 23 janvier 2005 à 10:36:35 | Re : Comment séparer les instances d'une DLL en mémoire

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Tout dépend de ton implémentation : si tu passe par un module, tes données sont communes aux 2 instances, si tu passe par des modules de classes, alors chaque instance est différenciée.

DarK Sidious

Administrateur et reponsable VB/API du site www.ProgOtoP.com
dimanche 23 janvier 2005 à 11:07:19 | Re : Comment séparer les instances d'une DLL en mémoire

blq


Effectivement, je passe par un Module, donc il me suffit de déclarer une Class dans l'exe et de faire appel à la DLL ? Vraiment trop simple.

Merci beaucoup pour cette super info !

BLQ
dimanche 23 janvier 2005 à 11:15:20 | Re : Comment séparer les instances d'une DLL en mémoire

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Ben un module sert à faire des déclarations globales à tout un projet, et c'est tout. Par contre, un module de classe permet de déclarer des données localisés dans une instances de cette classe, ce qui permet de créer des objets très facilement.

Dans un dll, c'est le module de classe le plus important ! Il ne faut utiliser de module que si l'on veut garder des données communes entre toutes les instances de dll qu'on peux créer.

DarK Sidious

Administrateur et reponsable VB/API du site www.ProgOtoP.com


Cette discussion est classée dans : fichier, dll, séparer, instances, theline


Répondre à ce message

Sujets en rapport avec ce message

modification de fichier ASCII [ par Cameleon ] Bonjourj'ai entendu parler que pour travailler sur des fichier il exister FileSystemObject si quelqu'un sait comment on peut y faire appel, je sais qu OLEAUT32.DLL le retour. [ par LOICA ] salut!J'aimerai pouvoire remplacerle fichier Oleaut32.dll par unevertion plus rescente du ditfichier, le probleme est quece dernier est chargé dès led Utilité de vb6fr.dll ? [ par sub-zer0 ] Contrairement au fichier MSVBVM60.DLL le fichier vb6fr.dll ne contient pas d'informations de dépendences et ne possèdent pas non plus de déclarations urgent: utilisation d'une fonction d'une dll ecrite en C dans un programme VB [ par gep ] je suis en train de développeer un application pour permettre une installation facilitée de fichier palm pilote a partir du webpour obtenir les inform re -- VB6fr.dll [ par sub-zer0 ] si quelqu'un connait le moyen de se débarrasser de ce fichier parasite lié par on ne sait quel mystère( certainement de krosoft) à chaque exe avec VS6 compiler en incluant les dll pour ne faire qu'un seul fichier [ par macololo ] Bonjour à tous,j'aimerais pouvoir créer mon éxecutable en intégrant les différentes dll que j'utilise (excel9.olb, scrrun.dll, ...) pour ne pas avoir Pb fichier vb6fr.dll [ par Copper ] J'ai un pb avec le fichier vb6fr.dll qui est manquant sur les pc n'ayant pas vb ou office 2K, je pensait le charger avec rundll32 mais si qq'un a une Besoin fichier fm20.hlp [ par Seb_d_angers ] J'ai Miscrosoft form 2.0 qui marche bien mais quand je veux l'aide vb me dit qu'il manque fm20.hlp. Impossible de le trouver sur le net. J'ai la dll f Besoin fichier fm20.hlp [ par Seb_d_angers ] J'ai Miscrosoft form 2.0 qui marche bien mais quand je veux l'aide vb me dit qu'il manque fm20.hlp. Impossible de le trouver sur le net. J'ai la dll f Fichier DLL OCX ... [ par thebigbang ] bonjour a tous ...Je voudrais savoir si, dansun projet VB, il était possible de joindre des fichiers .ocx .dll par exemple, si jamais l'ordinateur sur


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,527 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales