Проблема с AfxBeginThread

Тема в разделе "MS Visual C++", создана пользователем rules, 15 дек 2004.

Статус темы:
Закрыта.
  1. rules

    rules Гость

    Я использовал эту функцию для запуска потока

    Код (Text):
    void CTest2Dlg::onOK()
    {
    // TODO: Add extra validation here
    AfxBeginThread(run, this);


    }

    UINT CTest2Dlg::run(LPVOID p)
    {
    CTest2Dlg * me = (CTest2Dlg *)p;
      me->run();
    return 0;
    }

    void CTest2Dlg::run()
    {
    while(1)
    {
    ..........
    }



    }

    Но после того как переустановил винду и наново поставил VC на тот же код компилятор выдает ошибку

    error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'

    При чем старые файли, те которые пахали, и пашут и компилируются!!!
    Ниче не погу понять. Помогите кто может!
     
  2. Dr.Gigabit

    Dr.Gigabit Гость

    Идея правильная.... Вот из MSDN :

    Код (Text):
    UINT MyThreadProc( LPVOID pParam )
    {
       CMyObject* pObject = (CMyObject*)pParam;

       if (pObject == NULL ||
           !pObject->IsKindOf(RUNTIME_CLASS(CMyObject)))
       return 1;   // if pObject is not valid

       // do something with 'pObject'

       return 0;   // thread completed successfully
    }

    // inside a different function in the program
    .
    .
    .
    pNewObject = new CMyObject;
    AfxBeginThread(MyThreadProc, pNewObject);
    Хотя я бы избавился от 2-й функции run - лучше уж start() тогда от беды подальше:)
     
  3. klizardin

    klizardin Гость

    Небольшой намек на то что данная функция, может быть функцией класса, но тогда статической
    т.к. все знают, что не статические функции получают указатель на обьект this. :)
     
Загрузка...
Похожие Темы - Проблема AfxBeginThread
  1. AgniXRudra
    Ответов:
    1
    Просмотров:
    41
  2. Zloikaktus
    Ответов:
    0
    Просмотров:
    27
  3. c0de3r
    Ответов:
    5
    Просмотров:
    151
  4. DobermannTT
    Ответов:
    10
    Просмотров:
    157
  5. SoulPaladin
    Ответов:
    4
    Просмотров:
    143
Статус темы:
Закрыта.

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