I mitt VB-projekt har jag ett antal klasser som jag använder i en Sub i ett Form. När min Sub körts klart sätter jag mina klasser till Nothing, men trots detta körs inte Class_Terminate()-metoden inne i klassen förrän jag avslutar programmet... Du har inte satt alla variabler som pekar mot dina objekt. Detta kan bero på cirkulärreferens. Att en klass har en referens till en annan klass vilket har en referens till den första. Jag skapar min klass en min första Sub, sen skickar jag med den ByRef till en annan Sub som i sin tur kallas sig själv ett antar gånger (den loopar igenom ett träd kan man säga). Men här blir det problem och jag i Sub2 ska sätta Set robjClass = Nothing, för då är orginalet i Sub2 (som kallade sig själv) också borta. Så på något sätt verkar det som att jag bara kan göra det i första "nivån" liksom. Nä, inte ens i första nivån kan jag sätta referensen till Nothing, då dör orginal-orginalet också. Jag löste problemet, med hjälp av följande sida:Döda klasser
Någon som vet hur jag direkt kan döda dem?
Tack på förhand!Sv: Döda klasser
Om du bifogar lite kod, kanske vi kan få klarhet i det.Sv: Döda klasser
Sv: Döda klasser
Sv: Döda klasser
http://www.vtsoftware.co.uk/tools/circular.htm