|
Тема |
Re: Процедурни типове [re: andrew_nikoloff] |
|
Автор | fockers (Нерегистриран) | |
Публикувано | 13.10.09 15:20 |
|
|
Нещо аз немота да се оправя.
Това, което трябва да направя е да извикам функция от dll, в която да дам поинтърите на 2 мои функции, които ще се викат с callback от dll.
Инициализиращата функцията е : Init(t_API)
struct {E_STATUS STATUS; E_DOST DOST;} t_API;
след това стартирам например функция от dll например run(par1 : int ,par2 : int) : int
и dll връща резултати като извиква функциите E_STATUS и E_DOST.
Това, което аз направих, но не съм сигурен дали е ОК:
Направих си тип:
type
t_API = record
E_STATUS : Pointer;
E_DOST : Pointer;
end;
var
my_ APi : t_API
имам 2 дефинирани фунции
function F_STATUS (parm1 : Integer) : Integer;
function F_ DOST (parm1 : Integer) : Integer;
и преди да извикам Init попъпвам my_ APi.
my_APi.E_STATUS := MethodAddress(‘F_STATUS’);
my_APi.E_DOST := MethodAddress(‘F_ DOST’);
и след това викам : Init(my_ APi);
но нещо не се получава и не знам дали проблема е при мен или в dll?
Dll работи с друго приложение, писано на C#.
дали това е правилно или има ли друг начин на постигна целта си.
|
| |
|
|
|