![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Указатель на не существующий компонент [D6, XP]
webpauk © (2006-05-12 18:31:00)
var
fLabel: Pointer;
begin
fLabel:=@Label1;
Label1.Free;
как проверить существует ли Tlabel(fLabel)?
Мефисто (2006-05-12 20:36:00) [1]begin
Label1.Free;
Label1 := Nil;
if not Assigned(Label1) then Caption := 'Free';
end;
?
Гаврила (2006-05-12 20:28:00) [2]
> как проверить существует ли Tlabel(fLabel)?
> fLabel:=@Label1;
Tlabel(fLabel) - это указатель вникуда(при раскладе что это указатель на указатель).
По сабжу - при разрушении присваивай nil переменной. И проверяй существование именно так
webpauk (2006-05-12 18:51:00) [3]
> Джо © (12.05.06 18:50) [6]
в морг, так в морг
Джо (2006-05-12 18:50:00) [4]> [5] webpauk (12.05.06 18:48)
> подскажи как правильно (в рамках заданного вопроса).
Ответ на вопрос был в [1]. Есть дополнительные вопросы? :)
webpauk (2006-05-12 18:48:00) [5]
> Джо © (12.05.06 18:47) [4]
подскажи как правильно (в рамках заданного вопроса).
Джо (2006-05-12 18:47:00) [6]> указатель в другой форме
Сорри, а можно поинтересоваться, что имеется в виду под конструкцией @Label1? Ведь это не совсем одно и то же, что указатель на экземпляр класса.
webpauk (2006-05-12 18:43:00) [7]
> MetalFan © (12.05.06 18:38) [2]
указатель в другой форме
и пока работа происходит в этой форме в предидущей форме может многое измениться
MetalFan (2006-05-12 18:38:00) [8]простите, а зачем такой изврат?
переменная-Объект - это уже и так указатель на область памяти во внутреннем представлении.
Джо (2006-05-12 18:36:00) [9]> как проверить существует ли Tlabel(fLabel)?
Теоретически — можно, практически — никак. Нужно не доводить до такой ситуации.