Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.28;
Скачать: CL | DM;

Вниз

DLL и EXE в одном флаконе.   Найти похожие ветки 

 
Alex Marmuzevich   (2002-01-08 23:12) [0]

Сегодня в голову стукнула мудрая мысль.
А можно ли сделать стандартными средствами Delphi (Builder) не прибегая к хакерству такую вещь:
- создать нормальное приложение, которое должно красиво работать и содержать некоторые формы.
- использовать это же приложение как DLL для доступа к этим же формам (понятно, что понадобятся экспортируемые функции и создание + разрушение форм вручную, но так ведь это не проблема).
Смысл: большой проект красиво работает с DLL, в которых много чего и формы. Однако для тестирования лучше запускать приложение.
Понятно, что можно создать 2 проекта (на DLL и EXE)
Или для запуска DLL как приложения вызывать RunDll. Но это не интересно.
Кто чего поможет?


 
valery_f   (2002-01-09 11:49) [1]

Кажись пахнет OLE-сервером...
Если же тебя интересует просто отладить DLL - в DLL проекте в Run /Run parameters -> Host application ты можешь указать EXE, который зовет твою DLL и отлаживай наздоровье.


 
Alex Marmuzevich   (2002-01-09 13:06) [2]

Вообще то вопрос был в том, можно ли очень просто сделать 2 точки входа в проекте, WinMain и DllMain.
А уж как отладить DLL, так это слава богу уже давно не проблема ;)


 
nikkie ©   (2002-01-09 15:44) [3]

вариант 1.
делаем File/New/Application - добавляем туда все нужные юниты, компиляем - получаем exe
делаем File/New/DLL - добавляем туда все нужные юниты, компиляем - получаем dll

исходники для exe и dll различаются на один файл.

вариант 2.
совмещаем dpr для exe и dpr для dll в одном dpr с помощью $IFDEF. (сам не пробовал, прошу не бить)

компилировать один файл, который можно запускать как exe и загружать как dll, наверное, нельзя - мне кажется это должно быть прописано в заголовке PE.


 
valery_f   (2002-01-09 16:14) [4]

Alex Marmuzevich>2 точки входа в проекте, WinMain и DllMain.

Такого, действительно, нет. Однако возможна "эмуляция" - сделать EXE OLE-сервером. В этом случае EXE будет работать и сам по себе и плюс выставлять наружу COM-объекты (вместо DLL-функций). Microsoft, к примеру, делает это на каждом шагу.



Страницы: 1 вся ветка

Текущий архив: 2002.01.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
1-90254
GhostK
2002-01-09 07:43
2002.01.28
Компонент...


1-90315
Shein
2002-01-11 10:19
2002.01.28
Есть проблемка с оболочкой Дельфей


3-90197
Alex22
2001-12-22 12:45
2002.01.28
DBGrid


3-90203
Andrey196
2001-12-23 19:49
2002.01.28
Помогите!!! :)


3-90205
Koks
2001-12-24 10:42
2002.01.28
QReport.....?