Форум: "Прочее";
Текущий архив: 2008.10.12;
Скачать: [xml.tar.bz2];
Вниздинамическое создание форм Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.036 c