peut etre que je ne poste pas sur le bon forum mais comme mon probleme est
relatif a excel je me permets de vous en faire part.
J'ai cree une dll (toto.dll par ex)en VC++ et je l'ai referencee sous VBA
avec Outils\References.
J'ai acces aux functions de cette dll sans probleme. J'ai un objet COM dont
je peux en creer une intsance par ex :
Dim MonObjet as New TotoObjet
Mon probleme est le suivant : il me semble que cette instance n'est pas
"tuee" a la fin de ma macro-fonction. J'ai bien essaye un truc du genre set
MonObjet = Nothing au debut et a la fin de mon code mais rien n'y fait!
Connaissez-vous un moyen de tuer cet objet depuis VBA-Excel?
Je ne suis pas expert en VC++, mais j'ai récamment suivi un cours à l'université Laval et je puis vous dire ceci :
L'instance ainsi créé, devrait être détruit par le destructeur de la classe de l'objet.
Cordialement
Michel
-----Message d'origine----- Bonjour,
peut etre que je ne poste pas sur le bon forum mais comme mon probleme est
relatif a excel je me permets de vous en faire part.
J'ai cree une dll (toto.dll par ex)en VC++ et je l'ai referencee sous VBA
avec OutilsReferences. J'ai acces aux functions de cette dll sans probleme. J'ai un objet COM dont
je peux en creer une intsance par ex : Dim MonObjet as New TotoObjet
Mon probleme est le suivant : il me semble que cette instance n'est pas
"tuee" a la fin de ma macro-fonction. J'ai bien essaye un truc du genre set
MonObjet = Nothing au debut et a la fin de mon code mais rien n'y fait!
Connaissez-vous un moyen de tuer cet objet depuis VBA- Excel?
Merci d'avance,
Antoine
.
Antoine
Certes mais il y a quelques nuances quand on travaille avec ATL COM sur des pointeurs de classe (ce qui est mon cas ici)... je dis ca mais j'en connais pas enormement non plus :(
j'utilise set MonObjet= Nothing pour liberer la memoire...et MonObjet n'est efface pire il conserve les memes donnees...
"MiB" wrote in message news:18ba01c37307$66bdb5a0$ Bonjour,
Je ne suis pas expert en VC++, mais j'ai récamment suivi un cours à l'université Laval et je puis vous dire ceci :
L'instance ainsi créé, devrait être détruit par le destructeur de la classe de l'objet.
Cordialement
Michel
-----Message d'origine----- Bonjour,
peut etre que je ne poste pas sur le bon forum mais comme mon probleme est
relatif a excel je me permets de vous en faire part.
J'ai cree une dll (toto.dll par ex)en VC++ et je l'ai referencee sous VBA
avec OutilsReferences. J'ai acces aux functions de cette dll sans probleme. J'ai un objet COM dont
je peux en creer une intsance par ex : Dim MonObjet as New TotoObjet
Mon probleme est le suivant : il me semble que cette instance n'est pas
"tuee" a la fin de ma macro-fonction. J'ai bien essaye un truc du genre set
MonObjet = Nothing au debut et a la fin de mon code mais rien n'y fait!
Connaissez-vous un moyen de tuer cet objet depuis VBA- Excel?
Merci d'avance,
Antoine
.
Certes mais il y a quelques nuances quand on travaille avec ATL COM sur des
pointeurs de classe (ce qui est mon cas ici)... je dis ca mais j'en connais
pas enormement non plus :(
j'utilise set MonObjet= Nothing pour liberer la memoire...et MonObjet n'est
efface pire il conserve les memes donnees...
"MiB" <Michel.Blais@yahoo.ca> wrote in message
news:18ba01c37307$66bdb5a0$a001280a@phx.gbl...
Bonjour,
Je ne suis pas expert en VC++, mais j'ai récamment
suivi un cours à l'université Laval et je puis vous
dire ceci :
L'instance ainsi créé, devrait être détruit par
le destructeur de la classe de l'objet.
Cordialement
Michel
-----Message d'origine-----
Bonjour,
peut etre que je ne poste pas sur le bon forum mais comme
mon probleme est
relatif a excel je me permets de vous en faire part.
J'ai cree une dll (toto.dll par ex)en VC++ et je l'ai
referencee sous VBA
avec OutilsReferences.
J'ai acces aux functions de cette dll sans probleme. J'ai
un objet COM dont
je peux en creer une intsance par ex :
Dim MonObjet as New TotoObjet
Mon probleme est le suivant : il me semble que cette
instance n'est pas
"tuee" a la fin de ma macro-fonction. J'ai bien essaye un
truc du genre set
MonObjet = Nothing au debut et a la fin de mon code mais
rien n'y fait!
Connaissez-vous un moyen de tuer cet objet depuis VBA-
Excel?
Certes mais il y a quelques nuances quand on travaille avec ATL COM sur des pointeurs de classe (ce qui est mon cas ici)... je dis ca mais j'en connais pas enormement non plus :(
j'utilise set MonObjet= Nothing pour liberer la memoire...et MonObjet n'est efface pire il conserve les memes donnees...
"MiB" wrote in message news:18ba01c37307$66bdb5a0$ Bonjour,
Je ne suis pas expert en VC++, mais j'ai récamment suivi un cours à l'université Laval et je puis vous dire ceci :
L'instance ainsi créé, devrait être détruit par le destructeur de la classe de l'objet.
Cordialement
Michel
-----Message d'origine----- Bonjour,
peut etre que je ne poste pas sur le bon forum mais comme mon probleme est
relatif a excel je me permets de vous en faire part.
J'ai cree une dll (toto.dll par ex)en VC++ et je l'ai referencee sous VBA
avec OutilsReferences. J'ai acces aux functions de cette dll sans probleme. J'ai un objet COM dont
je peux en creer une intsance par ex : Dim MonObjet as New TotoObjet
Mon probleme est le suivant : il me semble que cette instance n'est pas
"tuee" a la fin de ma macro-fonction. J'ai bien essaye un truc du genre set
MonObjet = Nothing au debut et a la fin de mon code mais rien n'y fait!
Connaissez-vous un moyen de tuer cet objet depuis VBA- Excel?
Merci d'avance,
Antoine
.
Antonio
Salut,
Je t'invite à regarder du coté de COleDispatchDriver, la méthode ReleaseDispatch a appeler dans le destructeur de ton objt COM. En fait, peut être que VBA fait bien son travail (appel du destructeur effectué) mais pas ton code C++ qui ne libère rien du tout.
A+
-----Message d'origine----- Bonjour,
peut etre que je ne poste pas sur le bon forum mais comme mon probleme est
relatif a excel je me permets de vous en faire part.
J'ai cree une dll (toto.dll par ex)en VC++ et je l'ai referencee sous VBA
avec OutilsReferences. J'ai acces aux functions de cette dll sans probleme. J'ai un objet COM dont
je peux en creer une intsance par ex : Dim MonObjet as New TotoObjet
Mon probleme est le suivant : il me semble que cette instance n'est pas
"tuee" a la fin de ma macro-fonction. J'ai bien essaye un truc du genre set
MonObjet = Nothing au debut et a la fin de mon code mais rien n'y fait!
Connaissez-vous un moyen de tuer cet objet depuis VBA- Excel?
Merci d'avance,
Antoine
.
Salut,
Je t'invite à regarder du coté de COleDispatchDriver,
la méthode ReleaseDispatch a appeler dans le destructeur
de ton objt COM. En fait, peut être que VBA fait bien
son travail (appel du destructeur effectué) mais pas ton
code C++ qui ne libère rien du tout.
A+
-----Message d'origine-----
Bonjour,
peut etre que je ne poste pas sur le bon forum mais
comme mon probleme est
relatif a excel je me permets de vous en faire part.
J'ai cree une dll (toto.dll par ex)en VC++ et je l'ai
referencee sous VBA
avec OutilsReferences.
J'ai acces aux functions de cette dll sans probleme.
J'ai un objet COM dont
je peux en creer une intsance par ex :
Dim MonObjet as New TotoObjet
Mon probleme est le suivant : il me semble que cette
instance n'est pas
"tuee" a la fin de ma macro-fonction. J'ai bien essaye
un truc du genre set
MonObjet = Nothing au debut et a la fin de mon code mais
rien n'y fait!
Connaissez-vous un moyen de tuer cet objet depuis VBA-
Excel?
Je t'invite à regarder du coté de COleDispatchDriver, la méthode ReleaseDispatch a appeler dans le destructeur de ton objt COM. En fait, peut être que VBA fait bien son travail (appel du destructeur effectué) mais pas ton code C++ qui ne libère rien du tout.
A+
-----Message d'origine----- Bonjour,
peut etre que je ne poste pas sur le bon forum mais comme mon probleme est
relatif a excel je me permets de vous en faire part.
J'ai cree une dll (toto.dll par ex)en VC++ et je l'ai referencee sous VBA
avec OutilsReferences. J'ai acces aux functions de cette dll sans probleme. J'ai un objet COM dont
je peux en creer une intsance par ex : Dim MonObjet as New TotoObjet
Mon probleme est le suivant : il me semble que cette instance n'est pas
"tuee" a la fin de ma macro-fonction. J'ai bien essaye un truc du genre set
MonObjet = Nothing au debut et a la fin de mon code mais rien n'y fait!
Connaissez-vous un moyen de tuer cet objet depuis VBA- Excel?