13. juni 2005 - 13:14Der er
5 kommentarer og 1 løsning
Memory leak
Fjerne memory leaks...
Hvis jeg har et grid som i hvert punkt har et objekt, er det så nok at kalde grid.free eller skal jeg også kalde free på samtlige grid-punkter (grid.point.free).
Umiddelbart syntes jeg at garbage-collectoren selv burde rydde op, men jeg syntes ikke at hukommelsen ser ud til at krympe efter kald af Grid.free;
Nogen som har et link til en god artikel om mem-leaks i Delphi (7)?
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
hvis din grid ikke er "owner" til objecterne ryder den dem ikke op, så skal du selv, hvilken grid er det, er der dig eller gridet der har createt dine objects ?
Det er ikke nok at kalde grid.free. Du skal alle punkterne igennem for at fjerne objekterne. Det er rigtigt at hvis dit grid har en owner (enten fordi den er placeret på en form eller dynamisk oprettet via TGrid.Create(self)), så sørger den bagvedliggende logik for at frigive den når formen nedlægges.
Du skriver "garbage collector". Sådan en har D7 heldigvis ikke. Det er først når du bevæger dig over i noget Delphi .NET, at der er en skraldespandssamler - og her er der stadig objekter som du selv må sørge for at frigive => Kaos hersker.
Hvad angår links til leaks: Prøv at google: +delphi +"memory leak". Der burde være noget brugbart. Det hedgangne TurboPower havde et program man kunne bruge på sit eget program. Derefter ville den guide dig hen til de steder hvor der måtte være leaks. Svært at bruge, men det virkede. Kender ikke alternativer i dag.
Jeps jeg fandt ud af det. Også at det tager lidt tid inden man kan se at der er mere fri hukommelse!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.