카드 결재때문에 VAN사에서 제공된 통신DLL을 호출 해야 합니다...
DLL 의 FUNCION 3개를 써야 하는데요..
실행화일과 같은 폴더에 dll을 넣었구요....
dll명은 cardcall.dll 입니다.
void SetServer( char *pIP, int nPort ) -> 리턴 없슴 ..서버설정
--예 SetServer("211.192.167.38',10014)
리턴값 : 없슴.
파라미터 : 서버아이피(입력) , 포트번호(입력)
int SetLogFile( int nFlag, char *pLogFile )
리턴값 : 성공 >= 0 , 실패 = -1
파라미터 : 로그파일을남기는경우1/남기지 않음 2 (입력) , 로그파일저장경로(입력)
int AuthRequest( PGFAuthResAppr *pAuthResAppr,
char *pTrdType , char *pTermID , char *pMchData,
char *pTrackData, char *pSwipe , char *pMonth,
char *pTradeAmt , char *pSvcAmt , char *pTaxAmt,
char *pAuNo , char *pAuDate , int nCrypFlag )
리턴값 : 성공 = 0 , 실패 < 0 , timeout = -2
파라미터 : pAuthResAppr (승인 응답 전문이 담길 구조체의 포인터) 출력,
pTrdType 업무구분 (입력)
.
.
.
.
요렇게 3개 함수를 콜해서 쓰면 되는데요...
dll을 정적으로 로드해서 쓰려 합니다..계속적이 작업이 반복되서..메모리에 로드시켜
쓸려구요...
그러면 어떻게 델파이로 함수를 선언하고 실행을 해야 할까요?
넘 넘 답답합니다.
특히 3번째 함수 를 호출해서 받는 pAuthResAppr (승인 응답 전문이 담길 구조체의 포인터) 요넘을 어떻게
받아서 처리해야하는지 막막합니다..
어떻게 델파이로 선언하고...실행은 버튼클릭시 edit로 입력 된값들을 함수호출시 입력
후 넘기면 되거든요...
선언 방법하고 실행방법좀 부탁드립니다...
C++ 문외한이라 책을 보면서 이해는 하고 있는데..도무지 감을 못잡겠네요
예상 작업은
1. DLL 로드
2. FUCTION 호출
3. 에러 처리..
1. <!--CodeS-->
function SetLogFile(
nFlag: Integer;
pLogFile: PChar
): Integer; stdcall; external 'cardcall.dll';
<!--CodeE-->
2. & 3. <!--CodeS-->
var
pLogFile: PChar;
wLogFile: string;
ret: integer;
wLogFile := 'C:\LogCardCall\log.txt';
StrPCopy(pLogFile, wLogFile);
ret := SetLogFile(1, pLogFile);
if (ret < 0) then ERROR_ROUTINE;
<!--CodeE-->