我在调用DLL的函数
function GetPersonInfo(Flag,MedKind:integer;SysDate:Pchar; out AppCode:integer; DataBuffer:Pchar):integer;stdcall;far;external 'DBLib.DLL' name 'GetPersonInfo';
的时候,把DataBuffer定义成Pchar类型的,在返回的时候总是提示'非法的指针操作'是不是我定义的指针不对还是怎么回事呀,高手门,快帮帮我吧,谢谢大家了!
function GetPersonInfo(Flag,MedKind:integer;SysDate:Pchar; out AppCode:integer; DataBuffer:Pchar):integer;stdcall;far;external 'DBLib.DLL' name 'GetPersonInfo';
的时候,把DataBuffer定义成Pchar类型的,在返回的时候总是提示'非法的指针操作'是不是我定义的指针不对还是怎么回事呀,高手门,快帮帮我吧,谢谢大家了!
PChar调用前,必须先使用AllocMem分配空间http://lysoft.7u7.net
DWORD GetModuleFileName( HMODULE hModule, // handle to module to find filename for
LPTSTR lpFilename, // pointer to buffer for module path
DWORD nSize // size of buffer, in characters
);
我是这样调用的var
FileName: array[0,,1023] of char;
begin
GetModuleFileName(HInstance, FileName, SizeOf(FileName));
end;