Hej på er, ok, upptäckte att om jag körde dispose på de object jag skapat i .NET-komponenten på den absolut sista function jag anropade(save()) i detta fall. så frigjordes minnet. >Vad används Finalize() till??Minne som tjurrusar med .NETkomponent mot COM
har precis skrivit en komponent i VB.NET för redigering av bilder. Denna komponent körs från en ASP-sida. Komponenten i sig är inga problem att köra, men den verkar inte släppa ifrån sig minnet. Om man tittar på den w3wp-process som kör webben där asp-sidan exekverar så växer den lavinartat varje gång sidan exekverar.
Nedan lite kod från ASP-sidan som visar hur instansiering och stängning går till.
<code>
set d = server.createobject("netImage.image")
with d
.sourceImagePath = file
.destImagePath= filesave
.scalePercent = scale
.quality = comp
.save()
imageHeigt = .destImageHeight
imageWidth = .destImageWidth
end with
set d = nothing
</code>
Variabler sätt naturligvis, det är dock inte med i kodavsnittet ovan.
Är det någon som har ideer kring detta beteende?
Har skrivit en del komponenter tidigare i VB6, har dock aldrig fått detta problem tidigare.
MVH
KjellSv: Minne som tjurrusar med .NETkomponent mot COM
Jag hade lagt detta i det jag trodde var en destructor (Finalize()).
Vilket det inte verkar vara.
Vad används Finalize() till?? Kan man inte köra dispose på diverse object i denna
KjellSv: Minne som tjurrusar med .NETkomponent mot COM
Att frigöra "unmanaged" resurser.
>Kan man inte köra dispose på diverse object i denna
Nej det bör du inte göra. Dispose ska du anropa så tidigt som möjligt, så snart du är färdig med objektet.
MS