Q&A

  • GetPrivateProfileString 윈도우 api 함수에 대하여
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에서도 될수 있도록 조언 부탁드립니다.




0  COMMENTS