Здравствуйте!
Есть ситуация, приложение и библиотека (.dll), оба созданы в делфи и оба содержат формы. Использоваться будут только в рамках друг друга, перевод на другие языки не требуется.
Как известно экземпляры Application у них разные, в результате окно создаваемое в библиотеке не наследует иконку приложения и вообще, отображается отдельно на панели задач, а хотелось бы и иконку и "стандартное" для форм поведение, т.е. что бы на панели отображалась только главная форма (WinAPI привлекать не хотелось бы, только стандартными средствами VCL).
Для этого при инициализации приложения передаю в библиотеку указатель на Application приложения, а вот дальше такая петрушка:
Вариант 1:
LibForm := TLibForm.Create(MainApp);
MainApp - Application приложения.
Ситуация не меняется. Окно без нужной иконки и появляется на панели задач.
Вариант 2:
LibApp := Application;
Application := MainApp;
...
LibForm := TLibForm.Create(Application);
LibForm.ShowModal;
FreeAndNil(LibForm);
Application := LibApp;
Окно с нужной иконкой, на панели задач не появляется, но приложение падает при выгрузке библиотеки.
Вариант 3:
pLibApp := @Application;
Application := pMainApp^;
...
LibForm := TLibForm.Create(Application);
LibForm.ShowModal;
FreeAndNil(LibForm);
Application := pLibApp^;
Окно с нужной иконкой, на панели задач не появляется, не падает, но при выгрузке библиотеки главная форма изчезает, процесс "висит" в диспетчере задач.
Господа, как правильно создать форму из библиотеки (.dll) "привязанной" к Application приложения ?
Заранее благодарю всех за ответы.
З.Ы. .bpl не предлагать.