Dll 을 호출해서 사용하고있습니다.
function TestDll(in_data: PWideChar):PAnsiChar;stdcall;
현재 이러한 dll 함수를 사용합니다.
이를 호출하기 위해서
procedure TForm1.Button1Click(Sender: TObject);
var
data: String;
pCharBuffer:PAnsiChar;
pWideCharBuffer:PWideChar;
StringBuffer:WideString;
begin
data:= Edit1.Text;
StringBuffer := data;
pWideCharBuffer := PWideChar(StringBuffer);
pCharBuffer := TestDll(pWideCharBuffer);
end;
이런식으로 하였습니다.
이렇게 하여 pCharBuffer에 값이 들어오는건 확인되었는데..
전체값을 받고싶은데 어찌해야하는지 모르겠습니다.
ShowMessage(pCharBuffer) 했더니 제일 앞에 값만 나오고,
ShowMessage(pCharBuffer[0] +
pCharBuffer[2] + pCharBuffer[4] +
pCharBuffer[6] + pCharBuffer[8] +
pCharBuffer[10] + pCharBuffer[12] +
pCharBuffer[14] + pCharBuffer[16] + pCharBuffer[18] +
pCharBuffer[20] + pCharBuffer[22] +
pCharBuffer[24] + pCharBuffer[26] +
pCharBuffer[28] + pCharBuffer[30] +
pCharBuffer[32] + pCharBuffer[34] +
pCharBuffer[36] + pCharBuffer[38] +
pCharBuffer[40] + pCharBuffer[42] +
pCharBuffer[44] + pCharBuffer[46] + pCharBuffer[48] +
pCharBuffer[50] + pCharBuffer[52] +
pCharBuffer[54] + pCharBuffer[56] +
pCharBuffer[58] + pCharBuffer[60] +
pCharBuffer[62] + pCharBuffer[64] +
pCharBuffer[66] + pCharBuffer[68] +
pCharBuffer[70] + pCharBuffer[72] );
이런식으로 했더니 정상적으로 나오는데 끝까지 보이진않네요..
이게 정상적인 방법도 아닌거같고요..(홀수를 넣으면 값이 깨집니다.)
이건 어찌 받아서 처리해야하나요??
|