C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[60713] 빌더2010 유니코드 테스트 중에 컴파일 에러가 발생합니다.
빌더조아 [] 1235 읽음    2010-04-07 11:26
// Ansi 및 Unicode 구분해서 코딩하기.
    char *bufa = "테스트 char 데이타";
    wchar_t *bufw = _T("테스트 wchar_t 데이타"); // 컴파일에러
                                                                                     //wchar_t *bufw = _T(L"테스트 wchar_t 데이타");
                                                                                     //로하면  에러안남
    StringA stra = bufa;
    StringW strw = bufw;

    // 빌더 2009 공용으로 코딩하기. 또는 모든 빌더 버전에서 나중의 유니코드 모드를 위해 코딩하기.
    TCHAR *s = _T("하늘 끝에서 내려온다.");
    String ss = s;
    TCHAR *s_ptr = ss.c_str(); // 컴파일에러 TCHAR *s_ptr = ss.t_str();로 수정하면 에러없음

    // 확인
    add(bufa);
    add(bufw);
    add(stra);
    add(strw);
    add(ss);
    add(s_ptr);

위 코드는 FAQ문서중에 발췌하여 테스트해본 코드인데요.. 두번째 줄에서 컴파일 에러가 발생합니다.
에러메세지는 Cannot convert const char * to 'wchar_t' 입니다.

project의 옵션 Directories and Conditionals의 _TCHAR maps to옵션을 char로 했는데도 불구하고
IDE상으로는 항상 Unicode로 인식이 되는것 같습니다.  String ss=s; 코드에서 String클릭 후 마우스오른쪽
버튼을 누르고 Find Declaration을 누르면 _DELPHI_STRING_UNICODE가 선언된
typedef UnicodeString        String;   로 찾아갑니다. 그러니까 코드상으로 String으로 선언된것은
내부적으로 항상 UnicodeStriing으로 인식되어 두번째 에러난 코드를 TCHAR *s_ptr = ss.t_str();로
수정을 해줘야 에러가 안나는것 같습니다. 이런식으로 빌더2010에서는 항상 Unicode를 사용하도록
모든 소스를 고쳐줘야 하는지 궁금합니다.
고수님들 많은 조언 부탁드립니다. 감사합니다.

#if defined(_DELPHI_STRING_UNICODE)
    typedef UnicodeString        String;           //
#else
    typedef AnsiString           String;           //
#endif

+ -

관련 글 리스트
60713 빌더2010 유니코드 테스트 중에 컴파일 에러가 발생합니다. 빌더조아 1235 2010/04/07
60714     Re:빌더2010 유니코드 테스트 중에 컴파일 에러가 발생합니다. Lyn 1437 2010/04/07
60726         Re:Re:빌더2010 유니코드 테스트 중에 컴파일 에러가 발생합니다. 빌더조아 1544 2010/04/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.