Found the Problem....
/*
Window Procedure */
::LRESULT CALLBACK WndProc(
::HWND hWnd,
::UINT message,
::WPARAM wParam,
::LPARAM lParam
) {
return WindowProc(hWnd, message, wParam, lParam);
Calling Four paramters here.....
};
class Window
: public boost::noncopyable {
public:
/* Deconstructor */
~Window(
) {
WindowProc.disconnect(m_Connection);
};
private:
friend ::LRESULT CALLBACK WndProc(::HWND, ::UINT, ::WPARAM,
::LPARAM);
virtual ::LRESULT CALLBACK WndProc(::UINT, ::WPARAM,
::LPARAM) = 0;
CALLBACK calling wrong in class... (removed CALLBACK)
protected:
/* Constructor */
Window(
::HINSTANCE hInstance
) : m_Window(NULL) {
m_Connection = WindowProc.connect(
boost::bind(
&Window::WndProc, this, _1, _2, _3
Missing ,_4 since I am calling ::HWND, ::UINT, ::WPARAM, ::LPARAM
)
);
m_Instance = hInstance;//Might need some work...
};
/* Varibles */
static ::HINSTANCE m_Instance;
::HWND m_Window;
boost::signals::connection m_Connection;
};