|
임펠리테리입니다.
제가 캐스팅을 하면서 괄호를 잘못 썼군요. 윽!
WideString temp = (TWideStringField *)((ADOQuery1->FieldByName("유니코드")))->AsString;
이게 아니고...
WideString temp = ((TWideStringField *)(ADOQuery1->FieldByName("유니코드")))->AsString;
이렇게 써보세요.
그럼 이만...
둘둘 님이 쓰신 글 :
: 안녕하세요....
: 답변 주셔서 정말 감사합니다..
: 임프님께서 말씀하신대로 적용을 시켜봤는데요... Error메세지로 이런 메시지가 뜨네요..
: E2031 Cannot cast from 'AnsiString' to 'TWideStringField *'
: cast하지 못한다는 말인 것 같은데... AsString으로 받는 것이 AnsiString형이라서 변형할 수 없다는 말인 것 같아요... 어찌할 도리가 없는 건가요....
: 임프님...답변 부탁드릴께요....
:
:
: 박지훈.임프 님이 쓰신 글 :
: : 임펠리테리입니다.
: :
: : 디비에서 WideString을 쓸 일이 없어서 될지 안될지 저도 확신이 업습니다만...
: : TField를 상속받는 클래스중에 TWideStringField이란 게 있더군요.
: : 헬프에는 이 클래스에 대해 잘못 설명이 되어있는 거 같은데, 와이드스트링에 대해 사용하는 것이 맞는 것
: : 같습니다. 다음과 같이 한번 시도해보시지요.
: : WideString temp = (TWideStringField *)((ADOQuery1->FieldByName("유니코드")))->AsString;
: : 해보시고 결과를 올려주시면 좋겠군요.
: :
: : 그럼 이만...
: :
: :
: : 둘둘 님이 쓰신 글 :
: : : 안녕하세요...
: : : 아무리 해도 잘 안되네요..방법이 없는 것 같지만 있을 것도 같아 이렇게 다시 질문드립니다.
: : :
: : : mdb에 유니코드로 된 스트링을 저장해놓았구요... ADOQuery를 사용해서 스트링값을 WideString형에 저장하여 RichEdit에 Add시켜주었습니다.
: : :
: : : mdb에는 분명히 유니코드로 된 스트링이 재대로 보였는데 richedit로 넣어주었더니 다르게 나오네요...
: : : 근데 또 이상한 건 그 유니코드를 셀렉트해서 copy하고 richedit에 직접 paste해주면 제대로 나와요....
: : : 분명히 들어가긴 하는데 왜 안 들어가는 지 모르겠어요....
: : : mdb에서도 제대로 표현이 되어있습니다...
: : : 가져올 때는
: : : WideString temp = ADOQuery1->FieldByName("유니코드")->AsString;
: : : 으로 가져오구요...
: : : richedit에 넣어줄 때는
: : : RichEdit1->Lines->Add(temp);
: : : 로 넣어줍니다.
: : : 아시는 분은 답변 좀 부탁드릴께요....
: : :
: : : 그럼..
: : :
: : :
|