델파이에서 dll 함수를 실행하려는데 에러가 납니다.
VC++ 로 만들어진 dll 안의 함수 type 는 아래와 같습니다.
int KPC_SendRequest(char* SendData, char* RecvData, HWND hWndReceiveMessage)
이 함수를 delphi 에서 아래와같이 사용하였습니다.
function KPC_SendRequest(aa, bb: PChar; cc: HWnd): integer;cdecl ; external 'kmpspos31.dll';
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var SendData: pChar;
ResData: pChar;
i:HWnd;
Str1:string;
begin
str1 := edit1.text;
senddata := Pchar(str1);
if KPC_SendRequest(SendData, ResData ,i) = 0 then
ShowMessage('처리가 정상적으로 이루어 졌습니다.');
end;
그런데 KPC_SendRequest(SendData, ResData ,i) 에서
"access violation error" 가 나옵니다.
무엇이 잘못된것인지 알려주시면 정말 감사하겠습니다.
SendData는 변수를 보내는 부문이고..
RecvData는 받는 부문 같은데
var
ResData: pChar;
begin
GetMem(ResData, 예상되는 받을수 있는 최대 용량);
..................
아래소스 그대로 하시고..
..................
FreeMem(ResData);
그럼 이만...