Извикване функция

2 отговора 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ви параметър - адрес на заделен от мен буфер, втори - дължина на буфера.

Какво трябва да направя за да работи?
Предварително благодаря.

Отговор
в отговор на Aз #2

Re: Извикване функция

Ами на пръв поглед - всичко си е ОК.
А защо не опиташ с Pointer или PByte?

Отговор
в отговор на Aз #3

Re: Извикване функция

(Data : PChar; var DataLen : Integer)
DataLen определено няма var : DataLen (int)

всякакви комбинации - има още, напр. Data : var PChar или PPChar

Обще взето не е описано ясно, напр. това хем иска указател, хем NULL
"pointer to buffer to receive data, initialize to NULL"

Отговор