Реферат: Разработка DLL в Borland Delphi

Forms,

Windows;

var

SomeBuffer : Pointer;

procedure MyFirstDLLProc(Reason: Integer);

begin

if Reason = DLL_PROCESS_DETACH then

{DLLisвыгружается из памяти.

Освобождаем память, выделенную под буфер.}

FreeMem(SomeBuffer);

end;

procedure HelloWorld(AForm : TForm);

begin

MessageBox(AForm.Handle, Hello world!',

DLL Message Box', MB_OK or MB_ICONEXCLAMATION);

end;

{Какой-нибудь код, в котором используется SomeBuffer.}

exports

HelloWorld;

begin

{Ставим в соответствие переменной

DLLProc адрес нашей процедуры.}

DLLProc := @MyFirstDLLProc;

SomeBuffer := AllocMem(1024);

end.

Как можно увидеть, в качестве признака того или иного события, в результате которого вызывается процедура MyFirstDll, является значение переменной Reason. Ниже приведены возможные значения этой переменной.

DLL_PROCESS_DETACH - библиотека выгружается из памяти; используется один раз;

DLL_THREAD_ATTACH - в оперативную память загружается новый процесс, использующий ресурсы и/или код из данной библиотеки;

DLL_THREAD_DETACH - один из процессов, использующих библиотеку, 'выгружается' из памяти.

Загрузка DLL

К-во Просмотров: 941
Бесплатно скачать Реферат: Разработка DLL в Borland Delphi