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

Вниз

динамическое создание форм   Найти похожие ветки 

 
sD ©   (2008-08-20 16:34) [0]

Добрый день!
На клик мыши происходит создание формы:

procedure TMain.button1Click(Sender: TObject);
begin
 TForm3.Create(Self);
end;

Как организовать динамическое создание форм(т.е. "TForm3" строка,значение некой переменной)Спасибо.


 
Vlad Oshin ©   (2008-08-20 16:39) [1]

непонятно.. это?
var
f:tForm3;
begin
f:=tForm3.Create(application);
f.Show;

или как это..вообще..


 
Сергей М. ©   (2008-08-20 16:40) [2]

1. Зарегистрировать класс своей формы (RegisterClass)

2. Найти класс формы по имени этого класса (FindClass)

3. Привести результат поиска к типу TFormClass

4. Собственно создать экземпляр своей формы по найденному классу (  FoundFormClass.Create(..) )


 
oldman ©   (2008-08-20 16:42) [3]


> Vlad Oshin ©   (20.08.08 16:39) [1]
> непонятно..


ему надо, чтоб при первом нажатии
TForm3.Create(Self);
при втором
TForm4.Create(Self);
при третьем
TForm5.Create(Self);
и т.д.

Маразматик он...


 
sD ©   (2008-08-20 16:56) [4]


> 1. Зарегистрировать класс своей формы (RegisterClass)2.
> Найти класс формы по имени этого класса (FindClass)3. Привести
> результат поиска к типу TFormClass4. Собственно создать
> экземпляр своей формы по найденному классу (  FoundFormClass.
> Create(..) )


Все бы хорошо,только вот как привести к типу если типы у всех разные?
TForm4(FindClass("TForm4")).Create(Self);


 
oldman ©   (2008-08-20 17:07) [5]


> sD ©   (20.08.08 16:56) [4]
> Все бы хорошо,только вот как привести к типу если типы у
> всех разные?


ЧаВо?


 
oldman ©   (2008-08-20 17:09) [6]

С какого перепугу


> sD ©   (20.08.08 16:34)  
> Добрый день!
> На клик мыши происходит создание формы:
>
> procedure TMain.button1Click(Sender: TObject);
> begin
>  TForm3.Create(Self);
> end;
>
> Как организовать динамическое создание форм(т.е. "TForm3"
> строка,значение некой переменной)Спасибо.


у них типы разные?


 
sD ©   (2008-08-20 17:11) [7]


> ему надо, чтоб при первом нажатии TForm3.Create(Self);при
> втором TForm4.Create(Self);при третьем TForm5.Create(Self);
> и т.д.


Нет, не так! Какая форма будет загружена храниться в б.д. и определяется один раз.


 
sD ©   (2008-08-20 17:13) [8]


> С какого перепугу у них типы разные?

Tform2, Tform3, Tform4, Tform5 ... одинаковые?


 
Сергей М. ©   (2008-08-20 17:13) [9]

TFormClass(FindClass("TForm4")).Create(..);


 
oldman ©   (2008-08-20 17:14) [10]


> sD ©   (20.08.08 17:11) [7]
> Нет, не так! Какая форма будет загружена


загружена или создана?

зы: что есть "загружена" очень хочется узнать...


 
oldman ©   (2008-08-20 17:15) [11]


> sD ©   (20.08.08 17:13) [8]
>
> > С какого перепугу у них типы разные?
>
> Tform2, Tform3, Tform4, Tform5 ... одинаковые?


Для Create это имеет смысл?


 
oldman ©   (2008-08-20 17:17) [12]


> sD ©   (20.08.08 16:34)  


Давай с самого начала, хорошо?
1. В чем проблема?
2. На фига она нужна?
3. Как ты ее решаешь?
4. Что не получается?


 
Dennis I. Komarov ©   (2008-08-20 17:18) [13]

А почему в ветке для взрослых?


 
Сергей М. ©   (2008-08-20 17:20) [14]


> oldman ©   (20.08.08 17:14) [10]


Видимо, у автора идея-фикс такого вида: где-то в базе хранится табличное соответствие а-ля

"Иванов" - "TForm1"
"Петров" - "TForm2"
....
"Череззаборногузадрайло" - "TFormN"

Юзер тычет нужную фамилию, и для этой фамилии создается соответствующая ему форма.


 
oldman ©   (2008-08-20 17:24) [15]


> Сергей М. ©   (20.08.08 17:20) [14]


Тогда переведи [4] и [8]


 
sD ©   (2008-08-20 17:24) [16]

Сергей М. Спасибо, все работает!!!!
 TFormClass(FindClass("TForm3")).Create(Self);


 
Сергей М. ©   (2008-08-20 17:31) [17]


> oldman ©   (20.08.08 17:24) [15]


А что тут переводить ?
Типы ведь действительно разные..


 
b z   (2008-08-20 17:53) [18]


> 1. В чем проблема?
> 2. На фига она нужна?
> 3. Как ты ее решаешь?
> 4. Что не получается?
Проблема уж действительно не нужна :)



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

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

Наверх




Память: 0.51 MB
Время: 0.022 c
15-1219235641
sD
2008-08-20 16:34
2008.10.12
динамическое создание форм


15-1219053835
Vlad Oshin
2008-08-18 14:03
2008.10.12
Microsoft® Virtual PC 2007, что-то не получается сеть настроить


2-1220067889
Alexey
2008-08-30 07:44
2008.10.12
ISAPI и БД


15-1219085284
programmer90
2008-08-18 22:48
2008.10.12
Нужен инсталлятор


2-1220510700
workbench
2008-09-04 10:45
2008.10.12
настройки proxy-сервера из браузера