1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

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

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

  1. EuGenius

    EuGenius Гость

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

    Barmutik Гость

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

    EuGenius Гость

    Репутация:
    0
    Дай пример.
     
  4. EuGenius

    EuGenius Гость

    Репутация:
    0
    Как можно узнать об окончании потока.
    Можно ли убить поток в функции
    UINT OurThread(LPVOID pParam)
    { ...
    AfxEndThread(0);
    }
     
Загрузка...
Похожие Темы - Гуру Не открывается
  1. igrok999
    Ответов:
    0
    Просмотров:
    902
  2. Omh
    Ответов:
    4
    Просмотров:
    2.545
  3. Omh
    Ответов:
    17
    Просмотров:
    5.856
  4. ~localhost
    Ответов:
    7
    Просмотров:
    94
  5. mz111
    Ответов:
    2
    Просмотров:
    71

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