Вниз
Скачать: CL | DM;

Загрузка функции из пакета   Найти похожие ветки 

 
AlexKost ©   (2003-04-22 15:38) [0]

Делаю следующее:

M: HMODULE;

M:=LoadLibrary("UTIL.BPL");


Подскажите как получить адрес процедуры из этого пакета?
Предполагаю что GetProcAddress(M, "Piece")
но выдает что такой ф-ции нет.
В пакете ф-ция значится как Util::Piece(()).


 
AlexKost ©   (2003-04-22 15:39) [1]

Извините вместо LoadLibrary делаю LoadPackage


 
evvcom ©   (2003-04-22 15:43) [2]

GetProcAddress и есть. Только имя Util::Piece в пакете не означает, то же имя в библиотеке. Я смотрел секции импорта/экспорта библиотек и программ их использующих, так там все имена типа @@Piece@ESCHE@KAKAYA@@TO@FIGNYA.
Поэтому поставь галку в опциях проекта "Build with runtime packages" и не извращайся.


 
AlexKost ©   (2003-04-22 15:45) [3]

Но все таки кто знает как узнать адрес функции в пакете?


 
REA ©   (2003-04-22 15:59) [4]

Именно GetProcAddress. Она должна быть экспортирована в секции Exports. Если она в составе класса/компонента, то такой подход не даст ожидаемого результата (да и функции декорированы как указано выше) и лучше получить указатель на метакласс либо сконструировать экземпляр класса и передать указатель на него в вызывающую программу.


 
Игорь Шевченко ©   (2003-04-22 18:00) [5]

REA © (22.04.03 15:59)

Пакет обычно экспортирует все функции (по крайней мере, с удивлением увидел, что в Delphi 5 экспортируются даже private-методы классов).



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
7-12957
PoiSoN2003
2003-03-13 06:30
2003.05.05
Два драйва


9-12599
NetBreaker666
2002-08-13 21:40
2003.05.05
Алгоритм рисования огня.


1-12810
Nomad
2003-04-22 12:22
2003.05.05
Сравнение строк, передаваемых в качестве параметров в функцию


3-12645
Кактус
2003-04-16 10:00
2003.05.05
Почему SP при методе Open не возврш. курсор?


3-12672
Vitual
2003-04-16 15:41
2003.05.05
Связанные таблицы




   Наверх