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

Вниз

Как получить список всех созданных фреймов приложения?   Найти похожие ветки 

 
Ega23 ©   (2006-06-29 16:19) [0]


 for i:=0 to Application.ComponentCount-1 do
  if (Application.Components[i] is TFrame) then
   Memo1.Lines.Add((Application.Components[i]).ClassName);


Это корректно?


 
Phoroon~ ©   (2006-06-29 16:26) [1]

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

ИМХО
Создай переменную типа TList и пихай указатели при создании каждого фрейма, а по листу поиск пройдет намного быстрей.


 
Ega23 ©   (2006-06-29 16:32) [2]


> Так если приложение средней поршивости, ему же надоест перебирать
> компоненты всего приложения.


А сколько там компонентов-то? Не так уж и много: все формы, фреймы, дата модуль и HintWindow


> Создай переменную типа TList и пихай указатели при создании
> каждого фрейма, а по листу поиск пройдет намного быстрей.
>
>

Создать переменную я и сам могу. Меня интересует именно список всех фреймов от приложения.


 
Vlad ©   (2006-06-29 16:36) [3]


> Ega23 ©   (29.06.06 16:32) [2]

Можно получить список всех форм приложения (Screen.Forms) и перебирать уже внутри них, причем через массив Controls[]
Возможно, так будет оптимальнее.


 
Stakan ©   (2006-06-29 16:36) [4]


> А сколько там компонентов-то? Не так уж и много: все
> формы, фреймы, дата модуль и HintWindow

А если у фрейма Owner не Application?


 
Stakan ©   (2006-06-29 16:37) [5]


> Можно получить список всех форм приложения
> (Screen.Forms) и перебирать уже внутри них, причем
>через массив Controls[]
> Возможно, так будет оптимальнее

А если у фрейма Parent не форма?


 
Ega23 ©   (2006-06-29 16:39) [6]


> А если у фрейма Owner не Application?


Это я не подумал. Действительно...

Ладно, попробую с другой стороны подойти.
Всем спасибо.


 
Vlad ©   (2006-06-29 16:42) [7]


> Stakan ©   (29.06.06 16:37) [5]


> А если у фрейма Parent не форма?

И что дальше? Рекурсивную процедуру из 2х строк сложно написать? Плясать ведь все равно от формы нужно.


 
Ega23 ©   (2006-06-29 16:46) [8]


> И что дальше? Рекурсивную процедуру из 2х строк сложно написать?
>  Плясать ведь все равно от формы нужно.
>


В определённый момент времени у некоторых фреймов Parent=nil.


 
Phoroon~ ©   (2006-06-29 22:00) [9]


> Создать переменную я и сам могу. Меня интересует именно
> список всех фреймов от приложения.

Ну так а я чего и говорю, создай TList и при создании каждого фрейма пиши туда указатель!!!!


 
Vlad ©   (2006-06-30 09:12) [10]


> Ega23 ©   (29.06.06 16:46) [8]


> В определённый момент времени у некоторых фреймов Parent=nil.


Ну и ладно. Owner-то у него, надеюсь, либо Application либо форма?
Или Owner в твоей задаче тоже может быть nil? (тогда рекомендую повеситься :-))


 
Ega23 ©   (2006-06-30 09:40) [11]


> Ну и ладно. Owner-то у него, надеюсь, либо Application либо
> форма?
> Или Owner в твоей задаче тоже может быть nil? (тогда рекомендую
> повеситься :-))
>


Может и nil  :-(
Ладно, я всё равно уже совсем по другому пути пошёл...



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

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

Наверх




Память: 0.49 MB
Время: 0.096 c
2-1151587495
Kill
2006-06-29 17:24
2006.07.16
Направление в котором нужно работать


2-1151389275
Kain-Lord
2006-06-27 10:21
2006.07.16
Помогите с мерцанием!


2-1151352861
Norfolk
2006-06-27 00:14
2006.07.16
Ограничение на количество символов в TMemo и TEdit


2-1151503487
novill
2006-06-28 18:04
2006.07.16
Почему из сервиса(службы) с админскими правами не могу выключить


15-1150451957
HeadHunter
2006-06-16 13:59
2006.07.16
Qulix Systems (БелХард, Минск) приглашает наработу программистов