Показать сообщение отдельно
  #3  
Старый 13.08.2021, 18:56
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Там много подводных камней.

Если говорить коротко, то для создания форм рекомендуется использовать BPL вместо DLL. Там для совместимости реализована куча разного всего.

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

Короче, там очень много особенностей, но реализовать вполне можно, делал в свое время такое.

Тут скорее встает вопрос - зачем тебе это нужно. Если просто попрактиковаться, это одно. Если есть проект, где функционал различается в зависимости от редакции, это другое. Ну или если функционал покупается поотдельности, хотя и тут можно все иметь в основном модуле и давать доступ в зависимости от того, что прописано в ключе регистрации.
Ответить с цитированием