Гуру! Не открывается бд в потоке (не в потоке открывается)

Тема в разделе "MS Visual C++", создана пользователем EuGenius, 29 янв 2007.

  1. EuGenius

    EuGenius Гость

    Создаю программно поток. Открываю в нем базу данных(DAO, MS Access) и в дебаге сообщение:
    Код (Text):
    Unhandled exception at 0x1b760401 in Bellvisual.exe: 0xC0000005: Access violation reading location 0x0000000c.
    Не в потоке, а в обычном методе класса все работает нормально.
    Вот код:
    Обьявление "потоковой функции"
    Код (Text):
    ...
    public:
    friend UINT OurThread(LPVOID pParam);
    ...
    Запуск потока
    Код (Text):
    ...
    HWND hWnd = GetSafeHwnd();
    AfxBeginThread(OurThread, hWnd, THREAD_PRIORITY_NORMAL);
    ...
    Сама функция потока
    Код (Text):
    UINT OurThread(LPVOID pParam)
    {
    CDaoWorkspace *ws = new CDaoWorkspace;
    CDaoDatabase db(ws);
    try
    {
    db.Open("dbase_bell.mdb");//вот здесь и выскакивает
    ...
    В чем дело?
     
  2. Barmutik

    Barmutik Гость

    А инициализацию COM подсистемы Вы сделали в потоке? Её нужно делать для каждого потока отдельно...
     
  3. EuGenius

    EuGenius Гость

    Дай пример.
     
  4. EuGenius

    EuGenius Гость

    Как можно узнать об окончании потока.
    Можно ли убить поток в функции
    UINT OurThread(LPVOID pParam)
    { ...
    AfxEndThread(0);
    }
     
Загрузка...
Похожие Темы - Гуру Не открывается
  1. igrok999
    Ответов:
    0
    Просмотров:
    845
  2. Omh
    Ответов:
    4
    Просмотров:
    2.484
  3. Omh
    Ответов:
    17
    Просмотров:
    5.753
  4. oshmianski
    Ответов:
    6
    Просмотров:
    38
  5. anna
    Ответов:
    11
    Просмотров:
    74

Поделиться этой страницей