![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нужно ли выгружать переменные? [D7, WinXP]
rolex © (2006-03-04 17:57:00)
procedure Button1Click........
var i:integer; j:in64;
begin
...
i.Free;
j.Free;
end;
Нужны ли выделенные строки?
SergP. (2006-03-06 16:36:00) [1]
> rolex (04.03.06 17:57)
> procedure Button1Click........
> var i:integer; j:in64;
> begin
> ...
> i.Free;
> j.Free;
> end;
>
> Нужны ли выделенные строки?
Уничтожать нужно то что создается, а у тебя тут ничего несоздается...
например:
procedure xxx;
var
a:integer;
b:^integer;
c:TButton;
begin
c:=TButton.Create(TForm1);
new(b);
...
dispose(b); // освобождаем память
c.Free; // Уничтожаем объект, указатель на который находится в с, но не саму переменную с
// Но переменные a,b и с мы не создавали, и поэтому нефик чего их уничтожать
end;
GrayFace (2006-03-06 16:15:00) [2]Хороший Орех!
Гаврила (2006-03-04 19:29:00) [3]
> память под локальные переменные простых типов (не
> объектных) обрабатывается автоматически
под любые переменные, не только локальные
Desdechado (2006-03-04 19:23:00) [4]память под локальные переменные простых типов (не объектных) обрабатывается автоматически
Zeqfreed (2006-03-04 18:29:00) [5]При вызове ф-ции для локальных переменных выделяется место в стеке. После завершения ф-ции стек восстанавливается автоматически.
TUser (2006-03-04 18:08:00) [6]Нет, более того, такая штука даже не скомпилируется.
rolex (2006-03-04 17:58:00) [7]ой,
end;не включается в выделение :)