Вниз
Скачать: 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.008 c
4-12971
Я
2003-03-07 11:10
2003.05.05
Простой вопросик


1-12728
Rise
2003-04-23 11:36
2003.05.05
Событие OnClick


3-12662
Silver_
2003-04-16 14:30
2003.05.05
SQL - значения некого поля чтоб не повторялись


1-12692
Sirus
2003-04-23 08:00
2003.05.05
Как сделать чтобы форма не отображалась при запуске???


11-12675
zetta
2002-07-11 10:59
2003.05.05
где грабли? delphi и система виснут при попытке закр. программы




   Наверх