Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Paзнoe 
Общие - UseLoadDLL

UseLoadDLL
Краткое описание
   Компонент предназначен для управления загрузкой и выгрузкой динамических подгружаемых библиотек
Параметры
  • DLLName - Имя файла DLL библиотеки по-умолчанию
  • LoadDllManager - Управление загрузкой DLL библиотек
  • Методы
  • doLoad - Загружает DLL библиотеку
  • doUnLoad - Выгружает DLL библиотеку
  • События
  • onLoad - Событие происходит всякий раз после загрузки DLL библиотеки
  • onUnLoad - Событие происходит всякий раз после выгрузки DLL библиотеки
  • Свойства
  • Handle - Содержит идентификатор загруженной DLL библиотеки
  • Данные
  • DLLName - Имя файла DLL библиотеки
  • Примеры
    Первый этап: Создание файла динамической библиотеки

    Тестовая библиотека My_dll. Схему необходимо скопировать в проект Windows Dll и откомпилировать. На выходе получится файл библиотеки My_dll.dll c одной точкой входа output

    
    Add(DLL,2953706,224,140)
    {
     EventPoints=#6:output|
     link(output,11940963:doMessage,[])
    }
    Add(Message,11940963,273,140)
    {
     Message="Привет!"
    }
    
    Воторой этап: Создание загрузчика динамических библиотек

    Схема Dll_Loadfer'a. Предназначена для управления загрузкой и выгрузкой созданной тестовой динамической библиотеки My_dll.

    
    Add(MainForm,2953706,111,133)
    {
     Width=260
     Height=77
     Caption="Load_DLL_From_File"
     Point(onClose)
     link(onClose,765614:doWork3,[(165,160)])
    }
    Add(Button,14066055,112,49)
    {
     Left=95
     Top=10
     TabOrder=-1
     Caption="Load"
     link(onClick,9332946:doLoad,[(163,55)(163,90)])
    }
    Add(UseLoadDLL,9332946,182,84)
    {
     DLLName="My_dll.dll"
     LoadDllManager="My_dll"
     Point(onUnLoad)
     Point(onLoad)
     link(onUnLoad,9890591:doOff,[])
     link(onLoad,9890591:doOn,[])
    }
    Add(DynamicHiDLL,1499978,182,175)
    {
     Name="My_dll"
    }
    Add(Button,14488305,112,91)
    {
     Left=155
     Top=10
     TabOrder=-1
     Caption="Unload"
     link(onClick,765614:doWork2,[])
    }
    Add(HubEx,765614,161,91)
    {
     link(onEvent,9332946:doUnLoad,[])
    }
    Add(Button,15856067,112,175)
    {
     Left=10
     Top=10
     TabOrder=-1
     Caption="Run_dll"
     link(onClick,1499978:output,[])
    }
    Add(LED,9890591,238,77)
    {
     Left=215
     Top=10
     Width=20
     Height=20
     Shape=1
    }
    
    Замечания
    Обновление элемента: [svn]UseLoadDLL.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...