Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как вывести на экран форму с известным Name / 5 сообщений из 5, страница 1 из 1
05.09.2003, 17:00
    #32257318
Aleksey_from_Tula
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести на экран форму с известным Name
Скажите, пожалуйста, можно ли, и если можно, то как, сделать
Form_n.Show,
но по имени формы.
Т.е. не писать, например, Form5.Show, а, зная string name формы вывести ее на экран.
Т.е. я хочу примерно так:

var MyForm:TForm; MyName:string;

MyName:=ADOQuery1.FieldByName('Name').AsString;
MyForm.Name:=MyName;
MyForm.Show

К сожалению, не получается, а
MyForm.ShowModal дает ошибку
...
Рейтинг: 0 / 0
06.09.2003, 15:08
    #32257655
Андрей Бабенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести на экран форму с известным Name
Это возможно только в том случае, если у тебя уже создан экземпляр формы...

делай цикл и проверяй имя, напр.:
for i:=0 to screen.count-1 do
if MyFormName=screen.Forms .name then screen.Forms.showmodal или show
...
Рейтинг: 0 / 0
08.09.2003, 03:51
    #32257897
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести на экран форму с известным Name
есть такая грамотная функция FindComponent посмотри чтонить с ней связанное
да и вообще посмотри методы TComponent, TObject...
...
Рейтинг: 0 / 0
08.09.2003, 11:39
    #32258181
Андрей Бабенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести на экран форму с известным Name
2 StarWind:
Очень содержательный ответ :-))

Ну причем здесь FindComponent, TComponent, TObject...
Вы сами попробовали это сделать?...
Ну нельзя этого...нельзя...
Повторюсь - это возможно только в том случае, если у тебя уже создан экземпляр формы (класса), тогда да, ищи этот класс через FindComponent или
форму через цикл по screen...
...
Рейтинг: 0 / 0
09.09.2003, 05:09
    #32259260
Dikobrazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести на экран форму с известным Name
Тогда через FindClass

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function CreateFormStr(ClassName: string): TForm;
var
 FrmClass: TClass;
begin
  FrmClass:=GetClass(ClassName);
  result:=nil;
  if (FrmClass<>nil) and FrmClass.InheritsFrom(TForm)
    then Application.CreateForm(TFormClass(FrmClass),result);
end;

Только все создаваемые таким образом формы необходимо зарегистрировать при помощи функции RegisterClasses
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как вывести на экран форму с известным Name / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]