Главная страница
    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.47 MB
Время: 0.009 c
2-1151399925
userrrrrrrr
2006-06-27 13:18
2006.07.16
WinExec


6-1140765377
Женя свисток
2006-02-24 10:16
2006.07.16
ISAPI - filter


1-1148320591
Андрей Молчанов
2006-05-22 21:56
2006.07.16
Обработать потерю фокуса


4-1144022231
XProger
2006-04-03 03:57
2006.07.16
Обойти OleVariant


2-1151336611
b.o.n.d.007
2006-06-26 19:43
2006.07.16
Не понимаю циклы. Помогите.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский