Советы по Delphi

         

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


Я хочу следующее:

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

Ок, но модуль, содержащий форму, должен включаться в ваш 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); ...

-Steve Schafer [000889]



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