|
다시쓰네염..제얘기를 하자면..100개정도를 하나의 ADO에 걸어도 아무런 문제가 없었습니다..
짧지만...그런 문제라기 보다는 메모리 참조를 잘못해서 난 에러 같습니다. ...
Method called on illegally casted object: Attempt to access 608 byte(s) at
0x038DC000. The 'this' pointer points to heap block 0x038DC000 which is only
604 bytes long.
this포인터의 블럭이 604바이트인데 608바이트를 접근시도 하려다 에러가 났군요..어디선가 this포인터를 사용하셨다면 그부분을 잘 살펴보심이 어떠하실지..^^ 제생각이었습니다.
DoyongID 님이 쓰신 글 :
: lpADOConnect = new TADOConnection(NULL);
:
: lpADOConnect->Mode = cmReadWrite;
: lpADOConnect->ConnectionString = pConnectionString;
:
: for(int i = 0; i < ThreadNumber; i++)
: {
: lpADODataSet[i] = new TADODataSet(NULL); <============ 요 부분에서 에러..
: lpADODataSet[i]->Connection = lpADOConnect;
: }
:
: 평상시에는 에러가 안뜹니다만, 코드가드를 돌리면 에러가 납니다.. 아래와 같은 에러들이 주루룩 생기네요..
:
: 사용환경은 C++빌더 6.0 엔터, 윈도우 XP, 오라클 9i 입니다..
:
: Error 00006. 0x130C10 (r) (Thread 0x0278):
: Method called on illegally casted object: Attempt to access 608 byte(s) at
: 0x038DC000. The 'this' pointer points to heap block 0x038DC000 which is only
: 604 bytes long.
: Call Tree:
: 0x00416554(=JRServer.exe:0x01:015554) d:\compiler\borland\c++builder\include\vcl\ADODB.hpp#965
: 0x00416324(=JRServer.exe:0x01:015324) E:\프로젝트\라이브러리\CS20\Engine_ADO.cpp#42
: 0x00414EDE(=JRServer.exe:0x01:013EDE) E:\프로젝트\네트워크\Bitmage\JRServer\App_Server.cpp#30
: 0x00401F6C(=JRServer.exe:0x01:000F6C) E:\프로젝트\네트워크\Bitmage\JRServer\Form_Main.cpp#19
: 0x0040222F(=JRServer.exe:0x01:00122F) E:\프로젝트\네트워크\Bitmage\JRServer\Form_Main.cpp#70
: 0x00490B5F(=JRServer.exe:0x01:08FB5F)
:
: The memory block (0x038DC000) [size: 604 bytes] was allocated with SysGetMem
: Call Tree:
: 0x0046DC3B(=JRServer.exe:0x01:06CC3B)
: 0x00416324(=JRServer.exe:0x01:015324) E:\프로젝트\라이브러리\CS20\Engine_ADO.cpp#42
: 0x00414EDE(=JRServer.exe:0x01:013EDE) E:\프로젝트\네트워크\Bitmage\JRServer\App_Server.cpp#30
: 0x00401F6C(=JRServer.exe:0x01:000F6C) E:\프로젝트\네트워크\Bitmage\JRServer\Form_Main.cpp#19
: 0x0040222F(=JRServer.exe:0x01:00122F) E:\프로젝트\네트워크\Bitmage\JRServer\Form_Main.cpp#70
: 0x00490B5F(=JRServer.exe:0x01:08FB5F)
|