엇.. 이상하네요.. 저도 ADO에서 코드가드 에러가 나서 여기 게시판 답변보고 고친거거든요..
원래 빌더 버전의 ADO에서 코드가드 에러가 나는건 맞는데요.. 덮어도 계속 에러난다니 이상하네요..
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=42087
여기에 ADODB.hpp 수정법이 있습니다..
이재율.미루 님이 쓰신 글 :
: 답변 감사드립니다.
:
: 그런데 위치만 달라지고 같은 메시지가 나오더군요 ㅜㅜ
:
: __property OnNewRecord ;
: 이곳에서
:
: 요런 에러가 ㅜㅜ
:
: Method called on illegally casted object in process: Miles.exe(3632) - c:\program files\borland\bds\4.0\include\vcl\ADODB.hpp#981
: Attempt to access 616 byte(s) at 0x029F6A70. The 'this' pointer points to heap block 0x029F6A70 which is only 612 bytes long.
: 0x00429364 - c:\program files\borland\bds\4.0\include\vcl\ADODB.hpp#981
: 0x0042B97A - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#305
: 0x0042AB67 - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#260
: 0x0042A51A - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#158
: 0x0054545C - D:\MiruDatas\Sources\miles\Source\Miles\Forms\Plan\DetailPlan.cpp#325
: 0x005407A5 - D:\MiruDatas\Sources\miles\Source\Miles\Forms\Plan\DetailPlan.cpp#70
: The memory block (0x029F6A70) [size: 612 bytes] was allocated with SysGetMem
: 0x008B74F6
: 0x0042B97A - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#305
: 0x0042AB67 - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#260
: 0x0042A51A - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#158
: 0x0054545C - D:\MiruDatas\Sources\miles\Source\Miles\Forms\Plan\DetailPlan.cpp#325
: 0x005407A5 - D:\MiruDatas\Sources\miles\Source\Miles\Forms\Plan\DetailPlan.cpp#70
:
: DoyongID 님이 쓰신 글 :
: : 첨부한 파일을 include\vcl에 덮어 쓴 다음 해보세요..
: :
: : 이전 파일 백업해놓으시고요..
: :
: :
: : 이재율.미루 님이 쓰신 글 :
: : : 현재 BDS2006 을 이용중인데요..
: : :
: : : 코드가드를 실행시키고 프로그램을 돌려보니..
: : :
: : : /* TCustomADODataSet.Create */ inline __fastcall virtual TADODataSet(Classes::TComponent* AOwner) : TCustomADODataSet(AOwner) { }
: : :
: : : 이부분에서 걸리면서 아래와 같은 메시지를 내뿜더라구요..
: : :
: : : 저 코드는
: : :
: : : TADODataSet * ds = new TADODataSet(NULL);
: : :
: : : 이렇게 실행되고요..
: : :
: : : Method called on illegally casted object in process: Miles.exe(2452) - c:\program files\borland\bds\4.0\include\vcl\ADODB.hpp#981
: : : Attempt to access 616 byte(s) at 0x01BE0F60. The 'this' pointer points to heap block 0x01BE0F60 which is only 612 bytes long.
: : : 0x00429364 - c:\program files\borland\bds\4.0\include\vcl\ADODB.hpp#981
: : : 0x0042B97A - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#305
: : : 0x0042AB67 - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#260
: : : 0x0042A739 - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#173
: : : 0x004565FF - D:\MiruDatas\Sources\miles\Source\Miles\Forms\TfrmMain.cpp#193
: : : 0x0045794D - D:\MiruDatas\Sources\miles\Source\Miles\Forms\TfrmMain.cpp#297
: : : The memory block (0x01BE0F60) [size: 612 bytes] was allocated with SysGetMem
: : : 0x008B74F6
: : : 0x0042B97A - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#305
: : : 0x0042AB67 - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#260
: : : 0x0042A739 - D:\MiruDatas\Sources\miles\Source\Miles\Common\dbman.cpp#173
: : : 0x004565FF - D:\MiruDatas\Sources\miles\Source\Miles\Forms\TfrmMain.cpp#193
: : : 0x0045794D - D:\MiruDatas\Sources\miles\Source\Miles\Forms\TfrmMain.cpp#297
: : :
: : : 포럼도 열심히 검색해 보았고....
: : :
: : : 구글도 열심히 검색해 보았지만..
: : :
: : : 당췌 이유와 해결책을 못찾겠습니다. ㅜㅜ
: : :
: : : 도와주세요..