Главная страница
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
3-90232
Стас
2001-12-24 11:19
2002.01.28
DBLookupBox


6-90345
Basaev
2001-11-04 04:44
2002.01.28
Как узнать подключон компютер к интернету в данный момент


1-90261
Delphimun
2002-01-07 11:55
2002.01.28
Как найти далее при помощи pos?


1-90256
SuperMama
2002-01-08 14:14
2002.01.28
Как в D5 организовать цифры ПРОПИСЬЮ ?


4-90422
mms
2001-11-28 17:16
2002.01.28
Global Hook вопрос