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