제 소스 보니 송신영님이 올리신것과 비슷하게 되어있네요.
소스 검색해보고 일찍 답글 올려드릴걸 그랬습니다.ㅋ
수고하세요.
int nResult;
wchar_t* wchrCFG = WideString("..\\HSMS.cfg").c_bstr();
// Init
nResult = XCom->Initialize(wchrCFG );
송신영 님이 쓰신 글 :
: 답글 감사합니다.
: 어제 이것 저것 하다가 구글 검색에서 다른쪽 문제로 비슷한게 있어서
: 여러 가지 방향으로 접근해봤는데요. 문제는 WideString을 사용해야하는군요.
: 6.0에서는 WideString이 BSTR로 바로 타입케스팅이되었는데
: 2010에서는 안되서 다른 방법으로 BSTR을 만들었더니 문제가 생기네요.
: WideString에 c_bstr() 메소드가 있다는 사실을 몰랐네요.. ㅡㅡ;;
:
:
: void __fastcall TForm1::FormCreate(TObject *Sender)
: {
: char szMsg[256];
: int nReturn;
: WideString wsCfgFile = "Sample.cfg";
:
:
: // Initialize the XCom control.
: // 문자열을 WideString으로 케스팅하고 그것을 다시 BSTR로 케스팅해야 정상동작함.
: // 그냥 어거지로 wchar_t * 형을 맞춘다고 되는게 아님.. ㅡㅡ;;
: if( (nReturn = eXCom1->Initialize( wsCfgFile.c_bstr() )) == 0 ) {
: lstbxMsg->Items->Add( "XCom initialized successfully" );
: }
: else {
: sprintf( szMsg, "Fail to initialize XCom (%d)", nReturn );
: lstbxMsg->Items->Add( szMsg );
: }
: }
:
:
: pLst 님이 쓰신 글 :
: : 답변은 아니고....
: :
: : 2009에서 잘 동작했습니다.
: :
: : 혹시 xCom 버젼은 최신으로 설치 되셨는지요?
: :
: : 1년여가 넘어서 기억이 가물 가물 하지만...
: : 그때 어떠한 문제가 있어서 업체에 문의하다보니,
: : xCom 버전에 따라 문제가 발생하는 경우가 있더라구요..
: : 최신으로 설치해서 해결한적이 있었습니다.
: :
: :
: :
: : 송신영 님이 쓰신 글 :
: : : 초기 Initialize() 함수가 정상적으로 동작 되나요?
: : : C++ Builder 6.0 버전에서는 정상적으로 동작되는데
: : : 2010에서 돌리면 Initialize() 함수에서 프로그램이 죽어버리네요..ㅜ.ㅜ
: : : 혹시 이런 문제 경험해보신분 있으신가요?