Writing DLLs

Language:
Русский
English

 Writing DLLs


The structure of a Borland Pascal DLL is identical to that of a program, except that a DLL starts with a library header instead of a program header.

The library header tells Borland Pascal to produce an executable file with the extension .DLL instead of .EXE. It also ensures that the executable file is marked as being a DLL.

If procedures and functions are to be exported by a DLL, they must be compiled with the export procedure directive.

Example

This implements a very simple DLL with two exported functions:

   library MinMax;

   {The export procedure directive prepares Min and Max for exporting}

   function Min(X, Y: Integer): Integer; export;
   begin
     if X < Y then Min := X else Min := Y;
   end;

   function Max(X, Y: Integer): Integer; export;
   begin
     if X > Y then Max := X else Max := Y;
   end;

   {The exports clause actually exports the two routines, supplying an
    optional ordinal number for each of them}

   exports
     Min index 1,
     Max index 2;

   begin
   end.

Libraries often consist of several units. In such cases, the library source file itself is frequently reduced to a uses clause, an exports clause, and the library's initialization code.

For example:

   library Editors;

   uses EdInit, EdInOut, EdFormat, EdPrint;

   exports
     InitEditors index 1,
     DoneEditors index 2,
     InsertText index 3,
     DeleteSelection index 4,
     FormatSelection index 5,
     PrintSelection index 6,
      .
      .
     SetErrorHandler index 53;

   begin
     InitLibrary;
   end.

See Also

Тэги: DLLs Library-header
| G+
Код для вставки: :: :: :: ::
Поделиться: // //