Вызов процедуры C++ из DLL

 
0
 
Delphi, Kylix & Pascal
ava
GSV | 27.09.2013, 13:06
Добрый день форумчане!

Есть процедура, написанная на С++ и запиханная в DLL:

ExtractKey (LPSTR base_dir, LPSTR open_key_ID, LPVOID key);

Описание:
base_dir — указатель на строку пути к каталогу
open_key_ID — указатель на строку с идентификатором ключа
key —указатель на блок памяти размером 304 байт, в который считывается данный открытый ключ (отводится пользователем)

пытался указать переменные в Delphi как тип PChar, потом PAnsiChar, PWideChar. Процедура возвращает ошибку:    Ошибка параметра обращения к функции


...

function ExtractKey(_base_dir,_open_key_id,_key:PAnsiChar):integer;external 'wbotho.dll';
...
Procedure Initialise;
var
  PKey    :PAnsiChar;
begin
  GetMem(PKey,304);
//Вызов процедуры
  Error:= ExtractKey('C:\dir1\','1234098765',PKey);
end;



что я делаю не так?
Comments (1)
ava
GSV | 27.09.2013, 13:25 #
Цитата (GSV @ 27.9.2013,  12:06)
Добрый день форумчане!



Есть процедура, написанная на С++ и запиханная в DLL:



ExtractKey (LPSTR base_dir, LPSTR open_key_ID, LPVOID key);



Описание: 

base_dir — указатель на строку пути к каталогу 

open_key_ID — указатель на строку с идентификатором ключа

key —указатель на блок памяти размером 304 байт, в который считывается данный открытый ключ (отводится пользователем)



пытался указать переменные в Delphi как тип PChar, потом PAnsiChar, PWideChar. Процедура возвращает ошибку:    Ошибка параметра обращения к функции





...



function ExtractKey(_base_dir,_open_key_id,_key:PAnsiChar):integer;external 'wbotho.dll';

...

Procedure Initialise;

var
   PKey    :PAnsiChar;

begin
   GetMem(PKey,304);

//Вызов процедуры
   Error:= ExtractKey('C:\dir1\','1234098765',PKey);

end;







что я делаю не так?

Разобрался...
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  GSV
advanced
Submit