Вниз
Скачать: 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.45 MB
Время: 0.009 c
14-12935
Dim!S
2003-04-18 05:37
2003.05.05
Плагины для Totalcmd


3-12624
paulsin
2003-04-15 15:29
2003.05.05
SQL


14-12905
REA
2003-04-17 15:31
2003.05.05
Защита


1-12716
Zheka
2003-04-23 16:55
2003.05.05
Hint above Label


3-12623
Minotavr
2003-04-14 17:08
2003.05.05
DBGrid




   Наверх