Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

Динамическое подключение пакетов   Найти похожие ветки 

 
Сатир   (2002-03-26 19:12) [0]

Вопрос такой:
Есть у меня пакет, напр., abkstd.bpl.
Для того чтобы вызвать его метод Register, этот пакет нужно объявить в секции uses
То есть, если мне нужно пользоваться одним из пакетов в определенное время выполнения приложения, то я должен объявить вес эти пакеты в uses. Спрашивается, как можно динамически подключать модули, то есть чтобы они были как-бы объявлены в uses?
Есть функция function LoadPackage(const Name: string): HMODULE;
Как теперь можно вызвать процедуру Register загруженного пакета
и какие операции предусматривает переменная HMODULE (короче говоря, что обозначает этот тип и что с ним можно сделать)?


 
aus ©   (2002-03-26 20:57) [1]

Попробуй так:

type TMyRegister = procedure; stdcall;
procedure Test;
var MyRegister: TMyRegister;
H: HMODULE;
begin
H := LoadPakage("abkstd.bpl");
if H > 0 then
try
@MyProc := GetProcAddres(H,"Register");
MyProc;
finally
FreePakage(H);
end;
end;

С LoadLibrary получается, только позаботься о правильности вызова, ну и о параметрах.


 
Сатир   (2002-03-27 12:05) [2]

А зачем объявлять тип TMyRegister, а потом и его переменную, если мы её нигду не используем?
И в каком моделу содержится функция GetProcAddress


 
Alx2 ©   (2002-03-27 12:08) [3]

>а потом и его переменную, если мы её нигду не используем?
используем в
try
@MyProc := GetProcAddres(H,"Register");
MyProc;
....

>И в каком моделу содержится функция GetProcAddress
uses Windows


 
aus ©   (2002-03-27 15:37) [4]

Перепутал, MyProc и MyRegister - одно хотел написать, да ночь уж на дворе была. Пардон.


 
Сатир   (2002-03-28 11:58) [5]

Не работает. Выдает ошибку доступа к памяти по нулевому адресу



Страницы: 1 вся ветка

Текущий архив: 2002.04.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-22829
Лёша
2002-02-22 15:43
2002.04.08
Посоветуйте хостинг.


3-22576
Zloy
2002-03-18 07:03
2002.04.08
Приветствую!!! Подскажите плиз, как сделать так чтобы таблица после каждого заполнения или редактирования какого-то поля 100% сохраналась


14-22831
VID
2002-02-28 20:33
2002.04.08
Посто интересно


1-22732
SPeller
2002-03-27 07:43
2002.04.08
Есть ли такая функция..


1-22682
OlegG
2002-03-26 13:08
2002.04.08
TSpeedButton