Force Napisano Listopad 12, 2008 Zgłoś Share Napisano Listopad 12, 2008 Ogólnie o co mi biega: w Mim programie tworzą się leaki w postaci stringów (różnych rozmiarów leaki tak od 4 bajtów do 60) i jako unknown(4 do 12) i moje pytanie jest takie: czy mieliście takie leaki i jak je powodowaliście? Bo przecież stringami zarządza jakiś tam mechanizm, to jeśli nie tworze PStringów to powinno być wszystko ok, a nie jest, a może znacie jakieś różne dziwne możliwe błędogeny Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Listopad 12, 2008 Zgłoś Share Napisano Listopad 12, 2008 nie kasujesz gdzies TStringList, on tam zarzadza Stringami ciut inaczej. Albo gdzies w srodku destrukcji aplikacji leci ci jakis exception i nie zostaje zwolnione wszystko. Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 12, 2008 Autor Zgłoś Share Napisano Listopad 12, 2008 Tak to by mi powiedziało, że nie kasuje jednej klasy TStringList, a ja mam tylko stringi Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Listopad 12, 2008 Zgłoś Share Napisano Listopad 12, 2008 Jeśli tworzysz "instancję" rekordów dla wskaźników pointer (czasem taka technika jest bardzo przydatna, niebezpieczna ale przydatna B)) na te rekordy przez new, a kasujesz tą instancję pod wskaźnikiem będącym jako pointer przez dispose, to przeciek murowany. przykład: type PX = ^TX; TX = record s: AnsiString; end; var p: pointer; begin p := new(PX); PX(p).s := 'Delphi B)'; dispose(p); // przeciek // dispose(PX(p)); // prawidłowo end. Błąd łatwy do przeoczenia, bo przy specyficznym kodzie, do czasu kiedy w rekordzie są zwykłe zmienne niewymagające informacji RTTI, wszystko działa ok. Wrzucasz łańcuch w rekord a tu BACH i nie wiadomo gdzie szukać. soon Delphi will be only for veterans and finally we all will die at the end… delphi.dathox.com - nowinki z świata Delphi/Pascala only programmers and drug dealers call their customers "users" Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą. Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 12, 2008 Autor Zgłoś Share Napisano Listopad 12, 2008 A gdy np. mam rekord, który ma stringa i takie rekordy trzymam w dynamicznej tablicy "a" i potem robię a:=nil; to stringi są dobrze kasowane? Chwytam się brzytwy, bo denerwuje mnie, że wycieka mi kilkadziesiąt bajtów Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Listopad 12, 2008 Zgłoś Share Napisano Listopad 12, 2008 Tak i nie trzeba zerować tablic dynamicznych (czy robić im nil). Są zwalniane automatycznie jak łańcuchy. soon Delphi will be only for veterans and finally we all will die at the end… delphi.dathox.com - nowinki z świata Delphi/Pascala only programmers and drug dealers call their customers "users" Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą. Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 12, 2008 Autor Zgłoś Share Napisano Listopad 12, 2008 Czyli to nie tu jest błąd a z tym nilem to ciekawe, że tego też nie trzeba Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Listopad 12, 2008 Zgłoś Share Napisano Listopad 12, 2008 Magia RTTI soon Delphi will be only for veterans and finally we all will die at the end… delphi.dathox.com - nowinki z świata Delphi/Pascala only programmers and drug dealers call their customers "users" Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.