(C# et COM) exécuter du code à la destruction d'une instance
1 réponse
cyrille
Bonjour,
apr=E8s quelques p=E9rip=E9cies,
j'arrive dans Excel, Word et Powerpoint,
=E0 charger et =E0 instancier un objet =E9crit en C#, ceci avec la foncti=
on CreateObject().
Dans le contructeur de l'objet, j'ais mis un appel =E0 MessageBox.Show() =
pour confirmer l'appel du constructeur.
La fenetre s'affiche bien ;o)
Dans le destructeur de l'objet, j'ais fait de m=EAme mais la fenetre de M=
essageBox n'est jamais affich=E9e.
J'ais donc ajout=E9 que l'objet impl=E9mente l'interface IDisposable et l=
a m=E9thode =E0 impl=E9menter Dispose() dans laquelle=20
j'ais aussi mis un appel =E0 MessageBox.Show().
Et bien ni dans le destructeur, ni dans Dispose(), la fenetre de MessageB=
ox n'est affich=E9e.
Puis je en conclure qu'aucune de ces m=E9thodes n'est appel=E9e ?
Si tel est le cas, comme puis-je savoir que l'objet n'est plus utilis=E9 =
?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
cyrille
> Puis je en conclure qu'aucune de ces méthodes n'est appelée ? Si tel est le cas, comme puis-je savoir que l'objet n'est plus utilisé ?
pour continuer :
dans le constructeur de la classe principale, j'instancie cette nouvelle classe. Et bien quand je quitte l'application hôte, le destructeur de cette seconde classe est bien appelé, alors que le destructeur de la classe principale ne semble pas l'être . ..
cyrille
> Puis je en conclure qu'aucune de ces méthodes n'est appelée ?
Si tel est le cas, comme puis-je savoir que l'objet n'est plus utilisé ?
pour continuer :
dans le constructeur de la classe principale, j'instancie cette nouvelle classe.
Et bien quand je quitte l'application hôte,
le destructeur de cette seconde classe est bien appelé,
alors que le destructeur de la classe principale ne semble pas l'être . ..
> Puis je en conclure qu'aucune de ces méthodes n'est appelée ? Si tel est le cas, comme puis-je savoir que l'objet n'est plus utilisé ?
pour continuer :
dans le constructeur de la classe principale, j'instancie cette nouvelle classe. Et bien quand je quitte l'application hôte, le destructeur de cette seconde classe est bien appelé, alors que le destructeur de la classe principale ne semble pas l'être . ..