nil nil nil

0

Jako że jestem perfekcjonistą :d i oDrAżA mnie myśl że po zakończeniu mojego wspaniałego programu jakieś śmieci mogą zostać w pamięci pytam się:

  1. Czy tablice dynamiczne (zmienne globalne) należy przy zakończeniu programu w jakiś sposób usuwać, jeśli tak to przez SetLength(x,0) czy przez x:=nil

  2. Czy w komponencie Image mogę sobie wyczyścić obrazek poprzez TImage.Picture:=nil

0
  1. Image.Picture.free;
  2. google: +"Delphi" +"Code optimalisation" +"Debug" z tego mozna naprawde dużo wynieść (2 długopisy i lampe na przykałd)
0

nil używasz wtedy, gdy masz do czynienia z parametrami funkcji czy procedury.

0

O kompetencjach tego anonima wyżej wolę się nie wypowiadać.... (Może jakiś modrator poznaje IP? [diabel] ) Nil spokojnie można przypisać na końcu programu do wszystkich jawnych wskaźników i do większości niejawnych (jeśli nie jest to możliwe - to znaczy, że dany obiekt jest usuwany automatycznie. Tak na marginesie - przypisanie nil czyści wskaźnik, ale nie pamięć, na którą ten wskazywał.....

/* IP należy od CyberKida :) A przypisać można zawsze, nawet, jeżeli jest usuwany obiekt. Zmienna przecież zostaje :) */

0

nie od a do CyberKida, zapomniałem siem zalogować, a co do tyhc kompetencji, to skąd miałem wiedzieć ???? wrrr, ale sie czepiacie.

/* Czeski błąd :) A ja się nikogo nie czepiam. Zmieniłbym Autora, ale chwilowo nie działa ta opcja :( */

//dopisane, no zdałoby się :-P. Ale tak w ogóle to 4p jest tak skonstruowany, że czasami niezauważa się, że nie jest się zalogowanym.

0

Ok dzięki wielkie ale nadal pozostaje pytanie: czy we wszystkich tablicach dynamicznych muszę na koniec programu ustawić wielkość na 0?

Pytam bo niedawno w jakimś wątku ktoś komuś zwrócił uwagę że jak deklaruje globalną tablicę dynamiczną to musi pod koniec ustawić SetLength(x,0);

0

ja do takich <ort>RZeczy</ort> używam GetMem i FreeMem

1 użytkowników online, w tym zalogowanych: 0, gości: 1