델파이에 흠뻑빠진사람입니다.
최근에 c++에서 만든 dll파일의 함수를 사용할려구 하는데 EAccessvioration발생되어 고민입니다
함수원형은 Tran(HWND hWnd,
BYTE *ADDR, /* INPUT:접속소켓주소 16자리*/
BYTE *PORTNO, /* INPUT:접속포트번호 5자리*/
BYTE *TID, /* INPUT:단말기번호 10자리*/
BYTE *JobFlag, /* INPUT:작업구분 1자리 (O:송신,I:수신) */
BYTE *FilePath, /* INPUT:파일이름 256자리*/
BYTE *FileSize, /* INPUT:파일크기 8자리*/
BYTE *FileRecCnt, /* INPUT:레코드건수 8자리*/
BYTE *ReplyCode, /* [OUTPUT]응답코드 4자리*/
BYTE *ReplyMsg) /* [OUTPUT]응답메시지 128자리*/ 와 같이 구성되어 있고요
vb에서는 에러 발생없이 실행이 가능한데 델파이에서는 안됩니다.
델파이에서는 다음과같이 선언한후
function Tran( handle : HWND; addr, portno, tid, jobflag, filepath, filesize, filerecoount, rcode,Rmsg:string):longword; stdcall;external 'CB.DLL';
다음과 같이
Tran(handle,pbyte(addr),pbyte(portno),Pbyte(tid),Pbyte(job),Pbyte(filepath),pbyte(filesize),pbyte(rcount),pbyte(rcode),pbyte(rmsg));는데 뭐가 잘못되었는 지 알수가 없습니다. 도와주세요 ㅠㅠ
|