Типы и классы
От: Kitsune  
Дата: 15.07.03 06:03
Оценка:
Здравствуйте!

Вот проблема:


class CTimer
{
    //cut...
    VOID CALLBACK process(UINT nTimerId, UINT msg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2);
};


VOID CALLBACK process(UINT nTimerId, UINT msg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2)
{
    //cut...
}

    
CTimer::CTimer(int id, int precision, int type, HWND hDlg)
{
    //cut...

    timeSetEvent(precision, precision, process, (DWORD)hDlg, type); //Вот здесь. Не нравится её мой process, объявленный внутри класса...
        
    //cut...        
};


Выдаёт на той строчке:

C:\work\dev\kn_editor\timer.cpp(37) : error C2664: 'timeSetEvent' : cannot convert parameter 3 from 'void (unsigned int,unsigned int,unsigned long,unsigned long,unsigned long)' to 'void (__stdcall *)(unsigned int,unsigned int,unsigned long,unsigned long,unsigned long)'
        None of the functions with this name in scope match the target


Что же делать? Подскажите, пожалуйста.

Заранее спасибо,
Kitsune
Re: Типы и классы
От: hellas Россия  
Дата: 15.07.03 06:26
Оценка: -1

VOID WINAPI CALLBACK process(UINT nTimerId, UINT msg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2)
{
    //cut...
}


пробовал?
This software required Windows 95 or better...
So I installed Linux
Re: Типы и классы
От: Рома Россия  
Дата: 15.07.03 21:34
Оценка:
Здравствуйте, Kitsune, Вы писали:

K>Здравствуйте!


K>Вот проблема:


K>class CTimer

K>{
K> //cut...
K> VOID CALLBACK process(UINT nTimerId, UINT msg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2);
K>};

Во-первых,
K>VOID CALLBACK CTimer::process(UINT nTimerId, UINT msg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2)
K>{
K> //cut...
K>}

Ну это к слову, всё равно работать не будет, в данном случае callback ф-ия должна быть глобальной.
... << RSDN@Home 1.0 beta 7a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.