Вниз
Скачать: CL | DM;

   Найти похожие ветки [Освобождение переменной]

← →
Kair ©   (2004-06-04 19:03) [0]

Написал класс

TMyClass = class(TObject)
...
end;

TMyCoolClass = class(TMyClass)
...
end;

var
 A: TMyCoolClass;
begin
A := TMyCoolClass.Create();
...
A.Free;
end;

Переменная "A" остается занятой... Как правильно освобождать?
Проверял через if Assigned(A) и if A <> nil...

P.S.: WinAPI приложение.


← →
GuAV ©   (2004-06-04 19:08) [1]


> Переменная "A" остается занятой...

Мусор там в никуда она указывает

> Как правильно освобождать?

FreeAndNil


← →
GuAV ©   (2004-06-04 19:13) [2]


> FreeAndNil

а tсли проверять не надо то и Free сойдет


← →
Anatoly Podgoretsky ©   (2004-06-04 19:18) [3]

Никак все переменные, кроме локальных остаются до конца работы приложения.


← →
GuAV ©   (2004-06-04 19:24) [4]

Anatoly Podgoretsky ©   (04.06.04 19:18) [3]
как всега, в вопрос не вчитался...
переменная А - локальная и будет освобождена.


← →
GuAV ©   (2004-06-04 19:26) [5]

хотя...
> Как правильно освобождать?
намёка на то что нужно освобождать саму переменную, а не выделенную память вроде нет


← →
Anatoly Podgoretsky ©   (2004-06-04 19:37) [6]

GuAV ©   (04.06.04 19:24) [4]
Ну еще на такую мелочь тратиться, будет просто забыта


← →
AlexG ©   (2004-06-04 19:59) [7]


> Kair


> Переменная "A" остается занятой... Как правильно освобождать?
> Проверял через if Assigned(A) и if A <> nil...

Переменная не может быть занятой. М.б. занятой память, на которую ссылается переменная. После освобождения в переменной м.б. любое число, не обязательно ноль, но это мусор. Поэтому, если далее предполагается проверка значения переменной для определения состояния, когда она не ссылается на отведенную память, нужно переменной присвоить значение NIL. Иначе, скорее всего, произойдет ошибка, которую потом будет трудновато найти...


← →
Mim1 ©   (2004-06-05 15:39) [8]

- Hа самом деле, самого дела нет. В самой деятельности заключена самость
дела - и наоборот. Hаоборот получим оборот на, и таким образом перевернем
образ. Я уже не говорю о природе говора в роде при уже. Ужи и узы - вы меня
понимаете, мистер Андерсон?
- Конечно, я так и думал, Смит. Дайте еще затянуться...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1086434607
zep
2004-06-05 15:23
2004.06.20
десингтайм


1-1086279510
MAPIIIAJL
2004-06-03 20:18
2004.06.20
Автоматизация в Excel


3-1085643687
BolikDimon
2004-05-27 11:41
2004.06.20
Вопрос по TDBGrid


14-1086343999
}|{yk
2004-06-04 14:13
2004.06.20
Я защитил диплом!


14-1086256838
ilnarab
2004-06-03 14:00
2004.06.20
Потерял исходники




   Наверх