// in dll.h
#ifdef BUILDDLL
#define DLL_MODE __declspec(dllexport)
#else
#ifdef BUILDAPP
#define DLL_MODE __declspec(dllimport)
#endif
#endif
int DLL_MODE ShowDllFormModal(TForm* parent);
// in dll.cpp
#define BUILDDLL
include "dll.h"
int ShowDllFormModal(TForm* parent)
{
// Create the form and show it modally.
TDLLForm* form = new TDLLForm(parent);
int result = form->ShowModal();
delete form;
return result;
}
// in project.cpp
#define BUILDAPP
#include "dll.h"
...
ShowDllFormModal(this);
...
формв в dll
Я извиняюсь , возможно эта тема уже существовала и рассматривалась, но я её не нашёл ,но всётаки объясните подробнее как можно создать форму в dll и вызывать её, все активные мои попытки ни кчему полезному не привели :-( да и в инете ничего действующего не нашёл, помогите кто как смпожет, заранее благодарен.
[QUOTE=novgorodov]Я извиняюсь , возможно эта тема уже существовала и рассматривалась, но я её не нашёл ,но всётаки объясните подробнее как можно создать форму в dll и вызывать её, все активные мои попытки ни кчему полезному не привели :-( да и в инете ничего действующего не нашёл, помогите кто как смпожет, заранее благодарен.[/QUOTE]
Пишу сервис. Необходимо, чтобы он умел выводить окно диалога на активный десктоп (в том числе на WinLogon). При этом все попытки запустить на десктопе WinLogona оконное приложение (процесс) не увенчались успехом. Окна же, созданные в потоке отображаются на любом десктопе. Так вот в качестве решения своей задачи я вижу использование окон взятых из DLL, и/или ресурсных файлов. Если у кого-нибудь есть соображения, либо ссылки на подобные темы буду очень благодарен. Вариант Gizmo (САБЖ "Форма в DLL") работает. Однако хотелось бы знать как оживить форму.