Pour des raisons de débogage, je veux détruire une instance de classe qui reste comme référence. Est-ce possible? Il ne doit pas être élégant ou stable, car cela ne finira jamais dans le code de production.Puis-je détruire une instance de classe même s'il existe encore des références?
Pour clarifier:
Public Sub Main
Dim o as MyClass
Set o = New MyClass //o is created, one reference
DestroyObject o //Class_Terminate is called and the object destroyed
//Further code, not using o
End Sub //Possible runtime error here (don't care)
Est-ce possible? Un moyen serait d'appeler IUnknown::Release
pour diminuer manuellement le nombre de références, mais comment puis-je maintenant combien de fois je dois l'appeler?
Bien sûr, étant donné que cela ne Besoin d'être ultra-stable Libérer jusqu'à ce que l'erreur soit parfaite. –
Le code de comptage de référence auquel vous avez lié fonctionne parfaitement, même dans VB6. Les mauvaises nouvelles: Le compilateur VB attrape les appels à la libération. Je suppose que j'ai besoin d'un autre moyen de contourner cela. –