Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];

Вниз

Вопросик про 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
4-57271
Delphimun
2001-12-18 18:57
2002.02.18
Создание одноэкземплярных преложений


6-57184
Степа
2001-11-25 20:35
2002.02.18
Движок для чата.


3-56992
SelfDestructor
2002-01-23 16:37
2002.02.18
Как загрузить поле таблицы типа Memo из текстового файла?


7-57238
c102011
2001-11-14 07:33
2002.02.18
Delphi5 и принтер HP LaserJet 1100


1-57066
derr
2002-01-26 19:58
2002.02.18
Как вытащить сообщение из outlook express и раскурочить его





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский