|
유엔아이 현입니다.
Borlndmm.dll 이문제라고 에러 메세지가 뜬다면 ... 메모리 관리가 잘못 되었다는 야그 입니다.
메모리 부분을 잘 살펴보세요~~~~`
일단 제가 의심 가는 부분을 밑에 글에 직접 수정을 ....
배현 님이 쓰신 글 :
: 고수님들의 도움이 필요합니다.
: 코딩엔 잼뱅이라서 사소한 것에서 막히네요
: DB에서 TDatabase랑 TTable을 이용해서 Text파일에 있는 데이터를
: 매분마다 읽어서 DB에 저장을 하려고 합니다.
: 근데 코딩엔 별 문제가 없는 것 같은데 EAccessViolation에러가 나네요
: Borlndmm.dll파일이 문제가 있다고 하는데 무엇이 문제인지 못찾겠어요
: 처음 몇분간은 문제없이 저장이 되다가 시간이 좀 지나면 이런 에러메세지가 뜨네요..
: 도움의 손길이 간절합니다..
: 꼭 답변 부탁드리겠습니다.
: 참고로 코드를 올립니다.
:
: void TForm1::Write_2_DB(void)
: {
: int FileHandle;
: int FileLength;
: int BytesRead;
: int i, j, k, l, m, n;
: char seps[]=" ,\t\n";
: char *token;
: char *pszBuffer;
: double *data;
==> 일단 요넘 셋이가 포인터니깐 .... 메모리 문제를 일으킬 가는성이 .........
:
: // ------------------------------------------------
: // Open File and Reading File
: // ------------------------------------------------
:
: char const *Path ="D:\\sbr\\state_set.txt";
:
: try
: {
: FileHandle = FileOpen(Path, fmOpenRead);
: FileLength = FileSeek(FileHandle,0,2);
: FileSeek(FileHandle,0,0);
: pszBuffer = new char[FileLength+1];
: BytesRead = FileRead(FileHandle, pszBuffer, FileLength);
: FileClose(FileHandle);
: }
: catch(...)
: {
: Application->MessageBox("Can't open the file","File Error",IDOK);
: }
:
: // -------------------------------------------------
: // Divided Data Storing
: // -------------------------------------------------
:
: token=strtok(pszBuffer, seps);
: data=new double[51];
==> 메모리 할당만 하구 해제 하는 부분을 찾을 수가 없네요~~~~~~~~~~
:
:
: for (i=0;i<51;i++)//BytesRead
: {
: data[i]=atof(token);
: token=strtok(NULL,seps);
: if (token==NULL) break;
: }
: delete [] pszBuffer;
==> delete pszBuffer; 이렇게 하셔야 할걸요~~~~~~
:
: Table2->First();
: Table2->Edit();
: for (i=0;i<Table2->FieldCount;i++)
: {
: if (i<2)
: {
: Table2->Fields->Fields[i]->AsInteger=data[i];
: }
: else if (i==2)
: {
: Table2->Fields->Fields[i]->AsFloat=data[i];
: }
: else if (i>3)
: {
: Table2->Fields->Fields[i]->AsInteger=data[i];
: }
: }
: Table2->Post();
==> delete data; 메모리 해제가 필요 하겠죠~~~~~~~~~
: }
: //---------------------------------------------------------------------------
:
|