Извикване функция
2 отговора
0 прегледа
Извикване функция
Здравейте,
Налага се да напиша едно програмче, което вика функция от друг DLL.
(който ако има някакво значение може и да е зареден вече в паметта)
По документация разполагам със следната информация:
[code]
Get Data
Rtn = GetData(Data, DataLen);
Arguments:
Data (TCHAR *):
pointer to buffer to receive data, initialize to NULL prior to making request
DataLen (int):
length of data buffer
Return (int):
Success (0)
[/code]
Описвам функцията в началото на програмата така:
Function GetData(Data : PChar; var DataLen : Integer):Integer;
StdCall; external 'EXTUNIT.DLL' name 'GetData';
Когато в програмата се извика финкцията, обаче ми излиза съобщение - Access violation ала-бала....
Това излиза при всякакви комбинации - 1ви параметър Nil, втори - 0;
1ви параметър - адрес на заделен от мен буфер, втори - дължина на буфера.
Какво трябва да направя за да работи?
Предварително благодаря.
Налага се да напиша едно програмче, което вика функция от друг DLL.
(който ако има някакво значение може и да е зареден вече в паметта)
По документация разполагам със следната информация:
[code]
Get Data
Rtn = GetData(Data, DataLen);
Arguments:
Data (TCHAR *):
pointer to buffer to receive data, initialize to NULL prior to making request
DataLen (int):
length of data buffer
Return (int):
Success (0)
[/code]
Описвам функцията в началото на програмата така:
Function GetData(Data : PChar; var DataLen : Integer):Integer;
StdCall; external 'EXTUNIT.DLL' name 'GetData';
Когато в програмата се извика финкцията, обаче ми излиза съобщение - Access violation ала-бала....
Това излиза при всякакви комбинации - 1ви параметър Nil, втори - 0;
1ви параметър - адрес на заделен от мен буфер, втори - дължина на буфера.
Какво трябва да направя за да работи?
Предварително благодаря.
Re: Извикване функция
Ами на пръв поглед - всичко си е ОК.
А защо не опиташ с Pointer или PByte?
А защо не опиташ с Pointer или PByte?
Re: Извикване функция
(Data : PChar; var DataLen : Integer)
DataLen определено няма var : DataLen (int)
всякакви комбинации - има още, напр. Data : var PChar или PPChar
Обще взето не е описано ясно, напр. това хем иска указател, хем NULL
"pointer to buffer to receive data, initialize to NULL"
DataLen определено няма var : DataLen (int)
всякакви комбинации - има още, напр. Data : var PChar или PPChar
Обще взето не е описано ясно, напр. това хем иска указател, хем NULL
"pointer to buffer to receive data, initialize to NULL"