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

Вниз

Вопросик про Create формы   Найти похожие ветки 

 
DenK_vrtz   (2002-02-01 13:33) [0]

Привет всем!!!
А вопросик вот какого плана. Я знаю имя формы - строковое значение, форма находится в Available forms, как сделать ей Create по имени.
Кйсы, всякого рода условия, типа if, наследование не устаивают!!!

Заранее благодарен!


 
Johnmen ©   (2002-02-01 13:44) [1]

Application.CreateForm(....)


 
Юрий Зотов ©   (2002-02-01 14:06) [2]

TCustomForm(GetClass("имя_формы")).Create(Application);


 
Юрий Зотов ©   (2002-02-01 14:20) [3]

Неточность - надо: GetClass("имя_класса_формы"))

Только все это лишнее - класс формы Вы и так знаете, поэтому ничто не мешает просто создать ее без всяких фокусов.


 
DenK_vrtz ©   (2002-02-01 14:33) [4]

2 Юрий Зотов, в том то и дело, что класс формы я не знаю.
У меня есть только имя формы и все!!! В этом то вся и сложность.
Представте себе, у меня где-то в таблице записано имя формы. Я его считал. И по этому значению форме с таким именем надо сделать Create, т.е. проверить есть ли такая форма в проекте.

Спасибо.


 
Johnmen ©   (2002-02-01 14:42) [5]

Тогда только if или case ... другого не дано...


 
Юрий Зотов ©   (2002-02-01 14:57) [6]

1. В таблицу надо записывать имя КЛАССА формы.

2. В программе все такие классы форм должны быть известны и зарегистрированы (RegisterClass). Обычно это делается в секции initialization одного из модулей.

3. А дальше - как я написал:
TCustomForm(GetClass("имя_класса_формы")).Create(...);
(можно CreateNew или CreateParented).


 
DenK_vrtz ©   (2002-02-01 15:13) [7]

2 Юрий, я сейчас попробовал, а не работает. Access violation, типа, пишет!!!


 
amamed_3071 ©   (2002-02-01 15:50) [8]

Var f:Tform_cLASS
Application.createForm(Tform_cLASS,f);
f.NAME=fORMnAME


 
Юрий Зотов ©   (2002-02-01 16:14) [9]

Скорее всего, Вы не зарегистрировали класс формы (п.2), поэтому GetClass выдает nil.


 
Набережных С.   (2002-02-01 19:46) [10]

Должно быть так:

TCustomForm Class(GetClass("имя_класса_формы")).Create(...);



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
1-57113
MystiX
2002-02-02 17:40
2002.02.18
FILE?????


1-57053
Vitek
2002-02-01 13:53
2002.02.18
Шрифты


6-57171
Gunner
2001-11-13 16:15
2002.02.18
Кому не слабо ! :)


14-57210
Knight
2001-12-29 11:15
2002.02.18
Люди, никто не в курсе, чё с Майл.ру?


3-57027
Axex12
2002-01-25 04:36
2002.02.18
Как вывести результат суммы по столбцу?