Текущий архив: 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.47 MB
Время: 0.009 c