Модуль-заготовка для динамического подключения библиотекDelphi , Файловая система , DLL и PlugInsМодуль-заготовка для динамического подключения библиотек
Автор: Panov { **** UBPFD *********** by delphibase.endimus.com **** >> Модуль-заготовка для динамического подключения библиотек. Модуль подключается к проекту. Для загрузки и выгрузки библиотек используется по одной функции. Зависимости: windows.pas, sysutils.pas Автор: panov, panov@hotbox.ru Copyright: нет Дата: 30 марта 2004 г. ***************************************************** } unit proc; interface uses windows, sysutils, classes; const _MyLibraryName = '..\dll\proc.dll'; //имя библиотеки var hLib: THandle; procedure LoadLib; procedure UnloadLib; implementation procedure LoadLib; begin if hLib <> 0 then Exit; hLib := LoadLibrary(PChar(_MyLibraryName)); if (hLib = 0) then begin raise Exception.Create('Не могу загрузить библиотеку ' + _MyLibraryName); Exit; end; end; procedure UnloadLib; begin FreeLibrary(hLib); hLib := 0; end; initialization hLib := 0; end. Пример использования: unit proc; interface uses windows, sysutils; const _MyLibraryName = '..\dll\proc.dll'; //имя библиотеки var hLib: THandle; ExecCmd: procedure(const aCommand: string; const aShow, aWaitExit: Boolean); procedure LoadLib; procedure UnloadLib; implementation procedure LoadLib; begin if hLib <> 0 then Exit; hLib := LoadLibrary(PChar(_MyLibraryName)); if (hLib = 0) then begin raise Exception.Create('Не могу загрузить библиотеку ' + _MyLibraryName); Exit; end; @ExecCmd := GetProcAddress(hLib, 'ExecCmd'); end; procedure UnloadLib; begin FreeLibrary(hLib); hLib := 0; end; initialization hLib := 0; end. { В любом модуле пишем: uses proc; ... LoadLib; //Загрузка библиотеки. ExecCmd('c:\command.com',True,True); UnloadLib; //Выгрузка библиотеки. } Статья Модуль-заготовка для динамического подключения библиотек раздела Файловая система DLL и PlugIns может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: DLL и PlugIns ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |