Приветствую Вас Гость | RSS

Меню сайта

Реклама

Категории раздела
CD-ROM [11]
DLL и PlugIns [75]
Help файлы [20]
INI файлы [16]
RS232 [2]
Активные директории [1]
Директории [0]
Диски [0]
Корзина [5]
Порты [26]
Ресурсы [0]
Файлы [0]
Форматы файлов [15]
Ярлыки [0]

Наш опрос
Оцените мой сайт
Всего ответов: 30

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Статьи » Файловая система » DLL и PlugIns

Модуль-заготовка для динамического подключения библиотек
{ **** 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 | Добавил: Skinner (06.07.2008)
Просмотров: 360 | Рейтинг: 0.0/0
  Delphi Lab   Главная   Регистрация   Вход  
Интересная Цитата

Поиск

Магазин


Copyright MyCorp © 2025 Хостинг от uCoz