Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Модуль-заготовка для динамического подключения библиотек

Delphi , Файловая система , DLL и PlugIns

Модуль-заготовка для динамического подключения библиотек

Автор: Panov
WEB-сайт: http://delphibase.endimus.com

{ **** 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.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: DLL и PlugIns ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
19.04.2024 10:16:42/0.0010209083557129/0