Там много подводных камней.
Если говорить коротко, то для создания форм рекомендуется использовать BPL вместо DLL. Там для совместимости реализована куча разного всего.
Если же упираться в DLL (кстати, как мы понимаем, TForm будет работать только для проектов Delphi и C++ Builder), то надо помнить, что:
1. TObject в главном приложении это не тот же самый TObject, что в DLL. Соответсвенно, другие объекты/классы тоже.
2. Application тоже другой. Вообще другой экземпляр.
3. Работа с памятью. Если память выдедается в DLL, то и освобождаться она должна в DLL (вопрос к созданию и уничтожению формы).
4. Parent и Owner - это разные объекты. Owner для формы вполне может быть Nil, особенно, если форма самоуничтожаемая.
Короче, там очень много особенностей, но реализовать вполне можно, делал в свое время такое.
Тут скорее встает вопрос - зачем тебе это нужно. Если просто попрактиковаться, это одно. Если есть проект, где функционал различается в зависимости от редакции, это другое. Ну или если функционал покупается поотдельности, хотя и тут можно все иметь в основном модуле и давать доступ в зависимости от того, что прописано в ключе регистрации.
|