TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Написание DLL 

             Структура DLL Borland Pascal идентичная структуре программы,
        но DLL начинается вместо заголовка program с  заголовка  program.
        Заголовок library указывает Borland Pascal, что нужно создать вы-
        полняемый файл с расширением .DLL, а не с расширением .EXE, и вы-
        полняемый файл помечается как DLL.

         библиотека
         │
         │   ┌─────────────┐   ┌───┐                    ┌──────┐
         └──>│  заголовок  ├──>│ ; ├─┬──────────────────│ блок ├───────>
             │ библиотеки  │   └───┘ │   ┌──────────┐ ^ └──────┘
             └─────────────┘         └──>│ оператор ├─┘
                                         │   uses   │
                                         └──────────┘

                        ┌─────────┐   ┌───────────────┐
         заголовок ────>│ library ├──>│ идентификатор ├─────>
         процедуры      └─────────┘   └───────────────┘

             В приведенном ниже примере приведена  очень  простую  DLL  с
        двумя экспортируемыми функциями Min и Max, которые вычисляют наи-
        меньшее и наибольшее из двух целочисленных значений.

             library MinMax;

             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;

             exports
                Min index 1,
                Max index 2;

             begin
             end.

             Обратите внимание на использование для подготовки Min и Max,
        для экспорта ключевого слова export,  и на оператор exports,  ис-
        пользуемый для фактического экспорта двух подпрограмм,  указываю-
        щий, для каждой из них, необязательный порядковый номер.

            Хотя предыдущий пример этого не показывает,  библиотека может
        состоять из  нескольких  модулей.  В  таких случаях исходный файл
        библиотеки часто сводится к оператору uses,  оператору exports  и

         B.Pascal 7 & Objects/LR     - 186 -

        коду инициализации библиотеки. Например:

             library Eritors;

             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.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz