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

Вниз

вопрос про объекты   Найти похожие ветки 

 
PURGEN   (2004-10-24 08:30) [0]

Подскажите функцию для определения: СУЩЕСТВУЕТ ли объект с данным имененм или НЕТ...


 
Polevi ©   (2004-10-24 09:23) [1]

что есть объект в твоем понимании


 
PURGEN   (2004-10-24 09:32) [2]

Например кнопочка на форме...


 
begin...end ©   (2004-10-24 09:38) [3]


> [2] PURGEN   (24.10.04 09:32)

1. Посмотреть, есть ли кнопочка в массиве TForm.Components.
2. Вызвать TForm.FindComponent(). Если результат - NIL, то кнопочки нет.

P.S. Это справедливо, если при создании кнопочки её владельцем назначается форма.


 
PURGEN   (2004-10-24 09:41) [4]

спасибо...


 
Anatoly Podgoretsky ©   (2004-10-24 10:15) [5]

begin...end ©   (24.10.04 09:38) [3]
Это неверно по сути, нужен Controls, а не Components


 
begin...end ©   (2004-10-24 11:18) [6]


> [5] Anatoly Podgoretsky ©   (24.10.04 10:15)

Что именно неверно? Controls содержит список всех дочерних окон, а Components - список всех компонентов, владельцем которых является данный компонент. Т.е. я так понимаю, что в списке Controls будут окна, Parent"ом которых является, в данном случае, форма. Но в [1] я уточнил, что писал про Owner"а.


 
Anatoly Podgoretsky ©   (2004-10-24 11:27) [7]

btn := TButton.Create(nil); или btn := TButton.Create(Application);

btn.Parent := Form1;

и где твой Components
А в Controls все органы на форме.


 
begin...end ©   (2004-10-24 11:30) [8]


> [7] Anatoly Podgoretsky ©   (24.10.04 11:27)


> и где твой Components

В TApplication. А где будет Ваш Controls, если не назначить Parent"а? ;-)


 
Anatoly Podgoretsky ©   (2004-10-24 11:32) [9]

А где здесь Аpplication btn := TButton.Create(nil);

Ну если ты начал искать оправдания, но нам говорить не о чем.


 
begin...end ©   (2004-10-24 11:40) [10]


> [9] Anatoly Podgoretsky ©   (24.10.04 11:32)


> А где здесь Аpplication btn := TButton.Create(nil);

А здесь - нигде.

> Ну если ты начал искать оправдания, но нам говорить не о чем.

Ничего я не начал; я не спорю, что Ваш ответ правилен, а просто говорю, что правилен и мой ответ, если кнопку создавать соответствующим образом.


 
Anatoly Podgoretsky ©   (2004-10-24 12:57) [11]

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

Тебе бы посмотреть мультик "Тайна третье планеты"


 
begin...end ©   (2004-10-24 13:36) [12]


> [11] Anatoly Podgoretsky ©   (24.10.04 12:57)


> Нет ты именно споришь

Уж спорю я или нет, - мне, наверное, виднее. Я даже написал в [10]: я не спорю.

> невзирая на приведеный код

Вот Вам код:

btn := TButton.Create(что угодно);
btn.Parent := Panel1;


Panel1 находится на форме Form1. Будет ли btn в списке Form1.Controls? Нет. Так что Ваш ответ - тоже не панацея.
А если вписать Form1 вместо что угодно, то btn можно будет найти в Form1.Components.

> твой ответ не правильный

Мой ответ [3] правильный, потому что там указано, как нужно создавать кнопку, чтобы потом можно было найти её так, как я написал.

> Тебе бы посмотреть мультик "Тайна третье планеты"

В первый раз слышу, а про что там?



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
3-1096997486
GanibalLector
2004-10-05 21:31
2004.11.07
IBExpert


3-1095682111
Галинка
2004-09-20 16:08
2004.11.07
Как узнать версию MS Access


4-1094197289
Gluk
2004-09-03 11:41
2004.11.07
Загрузка процессора


14-1098335350
Rouse_
2004-10-21 09:09
2004.11.07
Юрия Федорова с днем рождения !!!


4-1096373747
AP3AMAC
2004-09-28 16:15
2004.11.07
Как поймать событие ONPRINT ?