win98에서 GetPrivateProfileString 를 사용하니깐 되는데
win2000에서는 에러가 납니다.
access violation at address 77e61436 in moudule 'kernel32.dll' 메세지가
나옵니다.
api 함수 정의는 아래와 같고
function GetPrivateProfileString(lpAppName, lpKeyName, lpDefault: PChar;lpReturnedString: PChar; nSize: DWORD; lpFileName: PChar): DWORD; external 'kernel32.dll';
아래 내용은 c:tandemerrcode.ini 화일의 내용입니다.
[ReturnCode]
01 =1정상처리
02 =1전 LINE 장애
03 =1LOGICAL CHANNEL 장애
04 =1중계센터 SYSTEM 장애
05 =1중계센터 개시시간 이전
06 =1중계센터 업무종료 장애
07 =1중계센터 DATABASE 장애
08 =1참가기관 SYSTEM 장애
함수 호출은
lp_MsgIn :=Pchar('01');
lp_section :=Pchar('ReturnCode');
lp_default :=nil;
lp_path := Pchar('c:tandemerrcode.ini');
lp_MsgOut :=nil;
ld_size :=60;
GetPrivateProfileStringa(lp_section,lp_MsgIn,lp_default,lp_MsgOut, ld_size ,lp_path);
application.MessageBox(lp_MsgOut, 'return data' , 1);
이렇게 했습니다.
즉 [ReturnCode] 항목에서
01 의 내용을 읽어서 ls_MsgOut에서 '1정상처리 내용' 들어 오면 성공한 것입니다. 고수님들이 window2000에서도 될수 있도록 조언 부탁드립니다.