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

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

Проблемы Com & Multithreading

Тема в разделе "С и С++", создана пользователем -=Bright=-, 21 ноя 2006.

Статус темы:
Закрыта.
  1. -=Bright=-

    -=Bright=- Гость

    Репутация:
    0
    Здравствуйте!
    У меня следующая проблема: не могу подключиться к COM-серверу, если использую многопоточность.
    Упрощенно структура программы имеет такой вид:
    class CTerminalApp : public CWinApp
    {
    private:
    CForexServer server; // COM-сервер
    }

    Подключаемся к серверу:
    void CTerminalApp::OnLogindlg()
    {
    bool bSuccess=false;
    CLSID clsid;
    if (SUCCEEDED (CLSIDFromProgID (OLESTR ("ForexServer.Application"), &clsid)))
    {
    IUnknown* pUnknown;
    if (SUCCEEDED :):GetActiveObject(clsid, NULL, &pUnknown)))
    {
    IDispatch* pDispatch;
    if (SUCCEEDED (pUnknown->QueryInterface (IID_IDispatch, (void**) &pDispatch)))
    {
    pDispatch->Release();
    server.AttachDispatch(pDispatch);
    bSuccess=true;
    }
    }
    }

    if (!bSuccess)
    if (!server.CreateDispatch(_T ("ForexServer.Application")))
    {
    MessageBox(m_pMainWnd->m_hWnd,"Could not connect to the server! Please check connection and try again.","ERROR",MB_OK);
    return;
    }
    }

    По таймеру,запускаем новый поток, чтобы забрать с сервера новые данные:
    void CALLBACK EXPORT TimerProc(HWND hWnd, UINT nMsg, UINT nIDEvent, DWORD dwTime)
    {
    theApp.GetCurrentPrices();
    AfxBeginThread(CurrentPrices,&theApp);

    return;
    }

    UINT CurrentPrices(LPVOID pParam)
    {
    CTerminalApp *serv=(CTerminalApp*) pParam;
    serv->GetCurrentPrices();
    return 0;
    }

    При попытке выполнения метода CForexServer::GetCurrentPrices() программа выдает ошибку, даже если внутри самой функции CurrentPrices попытаться заново подключиться к серверу.
    Помогите пожалуйста кто знает в чем проблема!
    Заранее благодарен!
     
Загрузка...
Похожие Темы - Проблемы Com Multithreading
  1. euppi98
    Ответов:
    3
    Просмотров:
    119
  2. AgRuN
    Ответов:
    8
    Просмотров:
    152
  3. CHEATER
    Ответов:
    3
    Просмотров:
    163
  4. Define

    Проблема Проблемы с шеллом

    Define, 18 июн 2017, в разделе: Kali Linux
    Ответов:
    2
    Просмотров:
    226
  5. Oksy
    Ответов:
    37
    Просмотров:
    2.110
Статус темы:
Закрыта.

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