Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пример DLL [D7]


Углук ©   (2007-03-05 07:33:00) 

Здравствуйте! Можно посмотреть несложный пример исходника DLL  для понимания структуры?


Углук   (2007-03-05 08:01:00) [1]

Исчерпывающий ответ


Loginov Dmitry   (2007-03-05 08:01:00) [2]

> А при выгрузке библиотеки можно что-нибудь выполнить?


Используй секцию finalization (только в паре с initialization, иначе не скомпилится).


SlymRO   (2007-03-05 07:58:00) [3]

Углук ©   (05.03.07 7:49) [6]
А при выгрузке библиотеки можно что-нибудь выполнить


library Project1;

function Run(param1:integer):integer;stdcall;
begin
halt(0);
end;

procedure EntryProc(dwReason: DWORD);
begin
 case dwReason of
   DLL_PROCESS_DETACH: ;//Сюда заходим при выгрузке
   DLL_PROCESS_ATTACH: Run(0);
   DLL_THREAD_ATTACH: ;
   DLL_THREAD_DETACH: ;
 end;
end;

exports Run;

begin
DLLProc:=@EntryProc;
EntryProc(Dll_Process_Attach);
end.


Углук   (2007-03-05 07:50:00) [4]

И еще вопрос: что содержит *.res файл dll, если это не resource dll?


Углук   (2007-03-05 07:49:00) [5]


> Код инициализации (т.е., выполняющийся при загрузке библиотеки


А при выгрузке библиотеки можно что-нибудь выполнить?


SlymRO   (2007-03-05 07:47:00) [6]

Ничего... До времени когда чтонибудь потребуется туда писать пройдет еще нимало времени...


Углук   (2007-03-05 07:47:00) [7]

Ясно, спасибо


Джо   (2007-03-05 07:44:00) [8]

> [2] Углук ©   (05.03.07 07:39)
> Спасибо, понятно.
> А вот в последнем begin..end. что выполняется?

Код инициализации (т.е., выполняющийся при загрузке библиотеки).


Углук   (2007-03-05 07:39:00) [9]

Спасибо, понятно.
А вот в последнем begin..end. что выполняется?


SlymRO   (2007-03-05 07:36:00) [10]

library Project1;

function Run(param1:integer):integer;stdcall;
begin
 halt(0);
end;

exports Run;

begin
end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо