powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как вывести на экран форму с известным Name
5 сообщений из 5, страница 1 из 1
Как вывести на экран форму с известным Name
    #32257318
Aleksey_from_Tula
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите, пожалуйста, можно ли, и если можно, то как, сделать
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
Как вывести на экран форму с известным Name
    #32257655
Андрей Бабенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это возможно только в том случае, если у тебя уже создан экземпляр формы...

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

Ну причем здесь FindComponent, TComponent, TObject...
Вы сами попробовали это сделать?...
Ну нельзя этого...нельзя...
Повторюсь - это возможно только в том случае, если у тебя уже создан экземпляр формы (класса), тогда да, ищи этот класс через FindComponent или
форму через цикл по screen...
...
Рейтинг: 0 / 0
Как вывести на экран форму с известным Name
    #32259260
Dikobrazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда через 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
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как вывести на экран форму с известным Name
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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