Оконная функция
Подскажите, пожалуйста, как в качестве оконной функции указать метод класса?
Посмотри реализацию и использование MakeObjectInstance() в Билдере, например.
typedef struct {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
}
В данной структуре это поле №2. Здесь и надо указать имя твоего метода.
Указав например TObject::SomeMethod, при компиляции программа выдает ошибку о невозможности преобразования типов :(
Ошибка:
E2034 Cannot convert 'long (__stdcall TForm::*)(void *,unsigned int,unsigned int,long)' to 'long (__stdcall *)(void *,unsigned int,unsigned int,long)'
Явное привидение типа тоже не помогает.
В качестве данного поля можно указать лишь имя описанной функции, но не метод класса.
А необходимо указать именно метод класса.
А не подскажите по подробнее как посмотреть реализацию и использование MakeObjectInstance()?
Указав например TObject::SomeMethod, при компиляции программа выдает ошибку о невозможности преобразования типов :(
Ошибка:
E2034 Cannot convert 'long (__stdcall TForm::*)(void *,unsigned int,unsigned int,long)' to 'long (__stdcall *)(void *,unsigned int,unsigned int,long)'
Явное привидение типа тоже не помогает.
В качестве данного поля можно указать лишь имя описанной функции, но не метод класса.
А необходимо указать именно метод класса.[/quote]
Обьяви метод класса как статический.