|
Thread Object를 생성하여 다음과 같이 작성 하였습니다.
5초마다 DB 값을 MAINFORM에 출력 하려고 합니다 .
__fastcall CThread::CThread(bool CreateSuspended)
: TThread(CreateSuspended)
{
Priority = tpTimeCritical;
}
//---------------------------------------------------------------------------
void __fastcall CThread::Execute()
{
Total_CPU_Val=0;
SQL_USED_CPU=0;
Exe_Val=0;
Batch_val=0;
Blocked_Val=0;
Page_Val=0;
while(!Terminated)
{
Synchronize(ShowStatus);
WaitForSingleObject((void *)Handle, 5);
}
}
void __fastcall CThread::ShowStatus(void)
{
TDateTime dtXValue;
MainForm->ADOQuery1->SQL->Text = "slelect * from dept";
MainForm->ADOQuery1->Open();
........
.......
.......
}
MainForm 폼에서 ADOQuery에 db 컨넥션을 한상태이고 저렇게 불러서 스레드를 실행하면 바이얼레이션 오류가 뜹니다..
ADOQuery1는 다른데서 사용하는곳도 없는데;;왜 그런지 모르겠습니다. 따로 테스트용 프로그램에서는 잘되는데 제가 개발하고 있는 곳에서는 계속 에러가..납니다..
|