[VB] comment créer puis recuperer un object avec GetObject()

comment créer puis recuperer un object avec GetObject() [VB] - Programmation

Marsh Posté le 25-09-2001 à 13:46:06    

En premier je crée une dll avec un module de classe qu'instancie a partir d'un autre programme
Ma dll activeX s'appele par exemple "yahourt.dll" , mon projet "projet1" , et ma classe "classe1"
 
A partir d'un autre programme je crée une instance :
dim retval as object
set retval = createObject("projet1.class1" ) et ça marche nickel

 
Maintenant je voudrais recuper cet objet deja instancié dans un 2 ieme programme( apres avoir lancé le 1er programme qui crée l'instance bien sûr ).
j'ai essayer ça :

dim banane as object  
set banane = getobject (,"projet1.class1" )  

mais ça marche pas , il me dit qu'il peut pas crée l'object (alors que je lui demande pas de le créer mais de le récuperer !)  
 
merci d'avance

 

[edtdd]--Message édité par cerdoc--[/edtdd]


---------------
I'm so crazy that sometime people think i'm clever.
Reply

Marsh Posté le 25-09-2001 à 13:46:06   

Reply

Marsh Posté le 26-09-2001 à 09:59:41    

heup  :cry:


---------------
I'm so crazy that sometime people think i'm clever.
Reply

Marsh Posté le 26-09-2001 à 10:34:17    

j'suis pas sur mais moi pour une appli excel j'avais fait GetObejct(Excel.Application, path)

Reply

Marsh Posté le 26-09-2001 à 14:10:37    

tu as tout as fait raison , normalement on fait ça , d'ailleur ça marche nickel avec excel , word , etc ...  
 
Je veux faire pareil , je veux lancer mon application et pouvoir récuperer une instance de classe crée par cette application (je veux crée un seul object dont les variables sont partager avec plusieur applications en mêmes temps)
( je sais pas trop comment ça s'appel , Automation  ou server COM )
j'ai lu sur un forum que l'on pouvait pas récuperer directement un object VB avec getobject mais qu'il fallait passer par une astuce : http://pub13.ezboard.com/fvisualba [...] =392.topic

 

[edtdd]--Message édité par cerdoc--[/edtdd]


---------------
I'm so crazy that sometime people think i'm clever.
Reply

Marsh Posté le 26-09-2001 à 19:57:56    

Tu peut pas aller chercher un objet d'une autre application si ce news pas une DLL activex ou un exe activex, parce que ton app garde ces objets en privé. le mieux c de crée ton program en AtiveX exe, et de t'en servir comme une app normal...

Reply

Marsh Posté le 26-09-2001 à 23:41:06    

cerdoc a écrit a écrit :

 
 
....
Ma dll activeX s'appele par exemple "yahourt.dll" , mon projet "projet1" , et ma classe "classe1"
....
 




 
elle est active X ma dll !!! :)
 
mais justement ça marche pas  !
et même un EXE active X avec une classe public bein ça marche pas non plus.
La classe que je veux recupere y a pas de probleme je peux la crée sans probleme soit a partir de l'EXE active X lui même quand je le lance soit je peux l'appeler à partir d'un autre programme et il me crée une nouvelle instance de cet EXE active X (car il est obliger de lancer l'EXE active X pour pouvoir crée la classe).
 
En plus j'ai essayé de faire un EXE qui a 2 classes :  
Class1 que je souhaite unique et partagée avec toute les application (j'ai même essayer le mode SimpleUSe pour qu'il y puissse y a voir qu'une seule instance de cette classe )
Class2 en mode GlobalUse pour pouvoir exposer au autres programmes une methode qui me permet de passer en paramtre l'instance de unique de Class1
 
et bein ça marche pas car on peut pas passer une class en paramétre (même en utilisant Object ou Variant )!!!

Reply

Marsh Posté le 27-09-2001 à 10:26:27    

bon bein je cherche pas plus loin , j'ai vu sur le site de microsoft qu'on peut pas crée d'objet partagés avec VB6 et inférieur :
http://msdn.microsoft.com/msdnmag/ [...] ts0108.asp
 
VB.NET le fait mais j'ai pas , tant pis
 
merci quand même pour votre aide


---------------
I'm so crazy that sometime people think i'm clever.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed