Советы по Delphi

       

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


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

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

unit MyUnit;
interface
type
TMyForm = class(TForm)...
implementation
...
initialization
RegisterClass(TMyForm);end.

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



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

-Steve Schafer [000889]



Содержание раздела