Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.09;
Скачать: CL | DM;

Вниз

Как узнать создан объект или нет   Найти похожие ветки 

 
elf   (2003-09-30 01:20) [0]

var
a:tlabel;
begin
if ... then a:=tlabel.create(form1);
if a.создан=true (???) then ...


 
Тих   (2003-09-30 01:40) [1]

возникнет исключение.


 
Andy Bitoff   (2003-09-30 01:48) [2]

Если знаешь имя своего лабела то можно так;
var con:TControl;
.....
con:=Form1.FindChildControl("name_label");
if con <> nil then нашли
else не нашли

А если имени не знаешь, но надо найти первый лабел, то так;
var con:TControl;
i:integer;
.....
for i:=0 to Form1.ControlCount-1 do begin
con:=Form1.Controls[i];
if (con <> nil) and (con is TLabel) then Break;
end;
if con <> nil then нашли
else не нашли


 
Zacho ©   (2003-09-30 01:50) [3]


> Тих (30.09.03 01:40) [1]
> возникнет исключение.

Не обязательно.
2 elf :
В общем случае - никак. Ты должен сам об этом позаботиться. Например, инициализируй переменную-указатель на объект nil"ом, и присваивай ей nil после уничтожения объекта , используй для хранения указателей на объекты TList и т.п.
P.S. if a.создан=true (???) then ... тоже самое, что и просто if a.создан (???) then ...


 
Zacho ©   (2003-09-30 01:54) [4]


> Andy Bitoff (30.09.03 01:48) [2]

Посмотри на его код. Ну и как ты думаешь, какое имя будет у его Label"а ?

> con:=Form1.Controls[i];
> if (con <> nil)

Это условие всегда будет true.


 
Andy Bitoff   (2003-09-30 02:06) [5]

Прошу простить!!!! Я не внимательно прочитал вопрос. Посыпаю голову пеплом.


 
Andy Bitoff   (2003-09-30 02:09) [6]

>> con:=Form1.Controls[i];
>> if (con <> nil)
>Это условие всегда будет true.

Согласен. Поторопился.



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

Текущий архив: 2003.10.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
1-27556
Alexia
2003-09-29 16:20
2003.10.09
Вызов PopupMenu


1-27552
Wild River
2003-09-29 15:22
2003.10.09
Можно ли в TRichEdit вставить картинку?


8-27618
Феникс
2003-06-03 14:27
2003.10.09
TV


3-27316
viktor
2003-09-15 19:32
2003.10.09
Удаление записи в справочнике


3-27394
BorH
2003-09-19 13:38
2003.10.09
Документация по InterBase