Döda klasser
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...
Någon som vet hur jag direkt kan döda dem?
Tack på förhand!
Svara
Sv: Döda klasser
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.
Om du bifogar lite kod, kanske vi kan få klarhet i det.
Svara
Sv: Döda klasser
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.
Svara
Sv: Döda klasser
Nä, inte ens i första nivån kan jag sätta referensen till Nothing, då dör orginal-orginalet också.
Svara
Sv: Döda klasser
Jag löste problemet, med hjälp av följande sida:
http://www.vtsoftware.co.uk/tools/circular.htm
Svara