Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Указатель на не существующий компонент [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)?

Теоретически — можно, практически — никак. Нужно не доводить до такой ситуации.


Наверх

Титульная страница Поиск, карта сайта Написать письмо