Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Delphi" (архив)


Паскаль, Делфи


 #0 deep © 12.02.03 14:35:37 - 17.02.03 10:06:03

Выведете меня из штопора!!!



Нужно в цикле получить все указатели на формы моего приложения... Кто какие способа знает?
мне нужны указатели типа TForm. Цитата

 #1  KA_ 13.02.03 09:03:02

У объекта Screen посматриваешь свойство Forms. У каждой формы смотришь класс Owner''а. Если TApplication, то сравниваешь его хэндл с хэндлом своего Application. Если нет, то проверяешь Owner у этого Owner''a и т.д. пока Owner''ы не кончатся.

Sorry за сумбурность. И сам я это не пробывал :)
 #2  KA_ 13.02.03 09:34:03

Упс... Снова sorrу... Загнался :(

TScreen.Forms

Lists all the forms currently displayed in the application.
 #3 Ketmar © 13.02.03 09:52:04

 правильно. Screen.FormCount и Screen.Forms. всё.

Satanas Nobiscum!   13-Feb-XXXVIII A.S.
 #4 deep © 13.02.03 10:58:32

пасиб, а то я копал в сторону TApplication.
 #5 Andrey © 13.02.03 18:03:48

Можно и со стороны TApplication:

var slForms: TStringList;

    procedure GetChildeForm(Comp: TComponent);
    var i: integer;
    begin
    for i:=0 to Comp.ComponentCount-1 do
      if Comp.Components is TForm then
        slForms.AddObject(TForm(Comp.Components­).Name, Comp.Components);
      else
        GetChildeForm(Comp.Components);
    end;

begin
slForms:=TStringList.Create;
GetChildeForm(Application);
slForms.Free;
end;



Естественно если форма создана:
Form1:=TForm.Create(nil);
ничего у нас неполучится, но IMHO это дурной тон и сложно представить ситуацию когда потребуется создавать форму именно так.
 #6 deep © 13.02.03 18:46:23

> Andrey ©
дак, я так и начал было делать, да вовремя спохватился %))
 #7 Andrey © 14.02.03 10:04:33

Ай-ай-ай... Нельзя использовать мою любимую переменную "i" для идентификации элементов масива и TStringList.... получается Italic.... жаль... жаль... очень жаль...

> дак, я так и начал было делать, да вовремя спохватился %))

Так чего спохватился? Или ты из тех кто пишут
Form1:=TForm.Create(nil);
тогда ты мне не друг :) но и не враг :)
 #8  KA_ 14.02.03 14:27:00

Есть такая библиотека компонентов Halcyon. Она работает со всеми возможными индексами для dbf-таблиц. В том числе и с cdx.
 #9  Shadow © 14.02.03 15:24:00

2KA_
Это наверное было в мою тему %))
 #10  Shadow © 14.02.03 15:28:10

2KA_
А где взять это чудо? Если есть, замыль, плз
 #11 Deep © 14.02.03 16:03:29

> Нельзя использовать мою любимую переменную "i" для идентификации
> элементов масива и TStringList.... получается Italic....
> жаль... жаль... очень жаль...


завтра будет обновление....

> Или ты из тех кто пишут
> Form1:=TForm.Create(nil);

нет, не из тех. Но вариант  с Screen - более правильный
 #12  KA_ 17.02.03 10:06:03

2 deep:
Упс! Sorry - ошибся веткой.
2 Shadow:
На Torry есть. Но лучше поищи ломаные. У меня к сожалению нет :(




  • Тема находится в архиве

    Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов