Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Поток


Автор: миг 4.2.2025, 21:55
Добрый день.  Есть класс apiFem. В этом классе одна из функций называется CreatePoint. 
Когда создаю объект и просто вызываю эту функцию, то программа работает как надо. Когда пытаюсь функцию класса поместить в поток, то в строке 23 pPoint = pModel->feNode; происходит аварийное завершение программы (процесс 15432 завершил работу с кодом -1073740791 (0xc0000409)). Подскажите пожалуйста в чем тут проблема?

Код

#include <iostream>
#include"apifem.h"
#include<thread>

int main()
{
    
    apiFem model; 
    if (model.Connect()) {  
 
        model.CreatePoint(1000, 1999, 90);
         // std::thread  t( & apiFem::CreatePoint, &model, 1000., 1000., 1000.);
      
    //  t.join();
 

    }
}
void apiFem::CreatePoint(double x, double y, double z)
{
   CComQIPtr<femap::INode> pPoint;
  
   pPoint = pModel->feNode;// тут возникает ошибка если вызвать функцию в потоке
   
   pPoint->x = x;
    pPoint->y = y;
    pPoint->z = z;
    pPoint->Put(pPoint->NextEmptyID());
    
}


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)