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
[47886] Re:Re:Re:Re:[만해] EDataBaseError에서 ErrorCode 뽑아 내는법?
정재만 [csta] 908 읽음    2007-01-25 12:30
꽁수 한가지 가르쳐 드리겠읍니다(권장안함)

메세지로 출력되는 에러코드를 추출하는것도 한가지 방법이긴 합니다..


정재만 님이 쓰신 글 :
: 형 변환이 안되고 있다는 말씀이 컴파일 에러가 난다는 말인가요?
:
: 아니면 형변환후 기본값이 제대로 출력이 안된다는 말씀인지?
:
:
: dynamic_cast이후 TDBError *E = Err->Errors[i];로 함번 해보셨는지?
:
:
: 강재호.만해 님이 쓰신 글 :
: : catch (EDatabaseError& E)
: :         {
: :         EDBEngineError* Error;
: :         Error = dynamic_cast<EDBEngineError*>(&E);   <-- 형 변환 부분.
: :         if ( Error != NULL )
: :             {
: :             ShowMessage(Error->Errors[Error->ErrorCount]->Message);
: :             }
: :         ShowMessage(E.Message);
: :         dbx_MainCon->Rollback(TD); // on failure, undo the changes
: :         ErrorLogs("TDM_GDB::DataQueryExecute - 2 : ", sls_Query->Strings[k] + "\n\n");
: :         i_Return = GetLastError();
: :         }
: : 제 코드에도 저 부분이 있긴 한데요
: :
: : 제가 타입 캐스팅을 잘못한건지 EDatabaseError* 에서 EDBEngineError*로 형 변환이 안되고 있네요
: :
: : 정재만 님이 쓰신 글 :
: : : 도움이 될련지
: : :
: : : 샘플코드을 참조하세요....
: : :
: : : void __fastcall TMainForm::ErrorCheck (TDataSet *TDataSet, EDatabaseError *E, TDataAction &Action)
: : : {
: : :   AnsiString S;
: : :   EDBEngineError *Err = dynamic_cast<EDBEngineError*>(E);
: : :
: : :   if (Err) {
: : :      for (int i = 0; i < Err->ErrorCount; i++) {
: : :          if (i > 0) AppendStr(S, '\n');
: : :          TDBError *E = Err->Errors[i];
: : :          AppendStr(S, Format( "%.4x (%d): %s",
: : :                               ARRAYOFCONST((E->ErrorCode, E->NativeError,E->Message))));
: : :      }
: : :      DatabaseError(S, 0);
: : :   }
: : : }

+ -

관련 글 리스트
47881 [만해] EDataBaseError에서 ErrorCode 뽑아 내는법? 강재호.만해 1373 2007/01/25
47882     Re:[만해] EDataBaseError에서 ErrorCode 뽑아 내는법? 정재만 1113 2007/01/25
47884         Re:Re:[만해] EDataBaseError에서 ErrorCode 뽑아 내는법? 강재호.만해 978 2007/01/25
47885             Re:Re:Re:[만해] EDataBaseError에서 ErrorCode 뽑아 내는법? 정재만 911 2007/01/25
47886                 Re:Re:Re:Re:[만해] EDataBaseError에서 ErrorCode 뽑아 내는법? 정재만 908 2007/01/25
47889                     Re:Re:Re:Re:Re:[만해] EDataBaseError에서 ErrorCode 뽑아 내는법? 강재호.만해 1078 2007/01/25
47907                         Re:Re:Re:Re:Re:Re:[만해] EDataBaseError에서 ErrorCode 뽑아 내는법? 강재호.만해 1251 2007/01/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.