Динамическое создание формы

Я хочу следующее:
  • мой компонент должен "динамически" создавать форму.
  • я не хочу включать имя модуля создаваемой формы в список используемых модулей моей текущей формы!!!

Ок, но модуль, содержащий форму, должен включаться в ваш EXE-файл, после чего вы должны вызвать RegisterClass. Наилучшее место для размещения вызова - секция инициализации модуля, определяющего форму:

unit MyUnit;

interface

type
TMyForm = class(TForm)
...

implementation

...

initialization
RegisterClass(TMyForm);
end.

Теперь вы можете создавать экземпляр этой формы из любого места программы, например так:

var
SomeForm: TForm;
FormClass: TFormClass;
...
FormClass := TFormClass(FindClass('TMyForm'));
SomeForm := FormClass.Create(Application);
...

 
« Предыдущая статья   Следующая статья »