TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

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

Странности

FAQ

Ссылки

Форум

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

Рассылка

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

Об авторе

 

 

Статический и динамический импорт 

             Директива external обеспечивает возможность статического им-
        порта процедур и функций из DLL.  Статически импортируемая проце-
        дура и функция всегда ссылается на одну и ту  же  точку  входа  в
        DLL. Расширения  Windows и защищенного режима DOS Borland поддер-
        живает также динамический импорт,  при котором имя DLL и имя  или
        порядковый номер  импортируемой процедуры или функции задается во
        время выполнения.  Приведенная ниже программа ShowTime использует
        динамический импорт  для вызова процедуры GetTime в DATETIME.DLL.
        Обратите внимание на использование переменной  процедурного  типа
        для представления адреса процедуры GetTime.

             program ShowTime;

             uses WinProcs, WinTypes, WinCrt;

             type
               TTimeRec = record
                   Second: Integer;
                   Minute: Integer;
                   Hour: Integer;
               end;
               TGetTime = procedure(var Time: TTimeRec);

             var
               Time: TTimeRec;
               Handle: THAndle;
               GetTime: TGetTime;

             begin
               Handle := LoadLibrary('DATETIME.DLL');
               if Handle >= 32 then
               begin
                 @GetTie := GetProcAddress(Handle, 'GETTIME');
                 if @GetTime <> nil then
                  begin
                    GetTime(Time);
                    with Time do
                      WriteLn('Текущее время: ', Hour, ':', Minute, ':',
                               Second);
                   end;
                   FreeLibrary(Handle);
                 end;
             end;



Содержание

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

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

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

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

Hosted by uCoz