TURBO PASCAL |
Новости
|
Статический и динамический импортДиректива 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; |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |