|
쓰래드 안에선 초기화가 필요하다고 하는군요 ...
쓰래드 함수 시작 부분에 CoInitialize(NULL); 를 넣어 주니 잘됩니다 ..ㅎㅎ
거짓말처럼 님이 쓰신 글 :
: void __fastcall TForm1::ConnBtnClick(TObject *Sender)
: {
: WSASocket = new CWSAEventSocket();
:
: WSASocket->TADO_QUERY = TADO_QUERY;
: }
:
: //----------------------------------------------------
:
: void CWSAEventSocket::SockThread_Recv(void* lParam)
: {
: String Order;
:
: Order = "select * FROM Login";
:
: try
: {
: pThis->TADO_QUERY->SQL->Clear();
: pThis->TADO_QUERY->SQL->Add(Order);
: pThis->TADO_QUERY->Open();
:
: pThis->TADO_QUERY->First();
: do
: {
: String strMsg = String().sprintf("1 : %s ", pThis->TADO_QUERY->Fields->Fields[0]->AsString);
: ShowMessage(strMsg);
:
: String strMsg2 = String().sprintf("2 : %s ", pThis->TADO_QUERY->Fields->Fields[1]->AsString);
: ShowMessage(strMsg2);
: pThis->TADO_QUERY->Next();
: }while(pThis->TADO_QUERY->Eof== FALSE);
: }
: catch(...)
: {
: ;
: }
: }
:
: //-----------------------------------------------------
:
: project xxxxx.exe raised exception class EOleException with message 이뜨내요 이상하게 쓰래드가 아님 함수에서 위 쿼리문을
:
: 작성시 디비 내용을 잘가지고 오는 상황입니다 ..... 왜 pThis만 붙으면 저런 오류가 날까요.....
:
: 현재 쓰래드 안에 pThis->TADO_QUERY 이 변수를 다른 클래스로 값을 넘겨줘야 하니 때문에 쓰래드 안에서 뺄수가 없는 상황입니다
: ..... 도와주세요 ㅠㅠ
:
|