我想将一个窗口过程分配给一个窗口类结构:
var wndClass : WNDCLASS;
wndClass.lpszClassName = CLASSNAME;
wndClass.lpfnWndProc = WndProc;
wndClass.hInstance = hInstance;
我还不能分配 WndProc,因为它还没有被声明。当我使用前向声明(在此处描述)时:
proc WndProc(hWnd: HWND; msg: WINUINT; wParam: WPARAM; lParam: LPARAM) : LRESULT
我收到此错误:
Error: type mismatch: got (None) but expected 'WNDPROC'
我的前向声明是错误的,还是在这种情况下我必须先编写函数?
编辑:
作为参考,以下代码在全局范围内工作:
proc Foo : int32;
var bar = Foo();
var baz = Foo;
echo bar;
echo baz();
proc Foo : int32 =
return 4;
WNDCLASS 和 WNDPROC 的定义可以在这里找到:http: //nim-lang.org/windows.html