Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 364

•  TDictionary Custom Sort  6 400

•  Fast Watermark Sources  6 190

•  3D Designer  9 143

•  Sik Screen Capture  6 517

•  Patch Maker  6 927

•  Айболит (remote control)  6 907

•  ListBox Drag & Drop  5 789

•  Доска для игры Реверси  96 796

•  Графические эффекты  7 122

•  Рисование по маске  6 438

•  Перетаскивание изображений  5 297

•  Canvas Drawing  5 662

•  Рисование Луны  5 370

•  Поворот изображения  4 913

•  Рисование стержней  3 497

•  Paint on Shape  2 757

•  Генератор кроссвордов  3 629

•  Головоломка Paletto  2 925

•  Теорема Монжа об окружностях  3 733

•  Пазл Numbrix  2 465

•  Заборы и коммивояжеры  3 144

•  Игра HIP  2 106

•  Игра Go (Го)  2 035

•  Симулятор лифта  2 392

•  Программа укладки плитки  2 092

•  Генератор лабиринта  2 549

•  Проверка числового ввода  2 236

•  HEX View  2 561

•  Физический маятник  2 177

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

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



Автор: 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; //Выгрузка библиотеки.
}




Похожие по теме исходники

Модуль активации программ

Нейросеть для распознавания образов

Механизм станка качалки для нефти

Весы для взвешивания

 

Кувшины для воды

Доска для игры Реверси

БД Библиотекарь




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте