关于回调函数的问题!!!! 我想定义有问题,一不能放在类中(类会给函数隐式的增加Self参数),二需要声明成stdcall;function NewWndProc(Handle: HWND; Msg: Integer; wParam, lParam: Longint): Longint; stdcall; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 lpPrevWndProc:=SetWindowLong(self.Handle, GWL_WNDPROC, Integer(MakeObjectInstance(WindowProc))); --~{!7~}chechy ~{5+JG~}CallWindowProc~{5D2NJ};9JG2;D\F%Ed#?#?#?~} --》chechy但是 callWindowProc的参数还是不能匹配???? 什么意思?我看不明白。我只说了一半,函数声明正确后,确实需要用prometheusphinx(白日梦)的方法:WndProcPtr:=MakeObjectInstance(NewWndProc);lpPrevWndProc:=SetWindowLong(self.Handle, GWL_WNDPROC, Integer(WndProcPtr));另外,在释放的时候务必调用以下代码: SetWindowLong(self.Handle, GWL_WNDPROC, Longint(lpPrevWndProc)); { Free our user-created window procedure } FreeObjectInstance(WndProcPtr); 但是CallWindowProc(lpPrevWndProc, hw, uMsg, wParam, lParam);中的第二个参数在编译时不能通过,说指针和整形不匹配!!!! 这个简单,作强制类型转化就可以了:var a: Pointer; a := Pointer(lpPrevWndProc); CallWindowProc(a, hw, uMsg, wParam, lParam); 那么 function NewWndproc的声明应该放在那里?? 我用DBGRIDEH 开发一个功能 请教:打印数据库里的一个用户的数据,并用表格方式输出打印。 为何都是'Field 'id' must have a value'出错? 离职散分! delphi8 怎么打包? 用Zlib解压缩内存流是不是容易出问题?最近好郁闷。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 圣诞到了,请问各位和女朋友都有什么节目呀! 在ACCESS中存取二进制文件??? 大家都用什么软件制作安装程序啊? 还请高手帮我? delphi中,如何不超过十行代码计算字符串str1=1+2*(2+8)的值 在D5中用什么控件画曲线图比较好?
~{5+JG~}CallWindowProc~{5D2NJ};9JG2;D\F%Ed#?#?#?~}
但是 callWindowProc的参数还是不能匹配????
我只说了一半,函数声明正确后,确实需要用prometheusphinx(白日梦)的方法:
WndProcPtr:=MakeObjectInstance(NewWndProc);
lpPrevWndProc:=SetWindowLong(self.Handle, GWL_WNDPROC, Integer(WndProcPtr));
另外,在释放的时候务必调用以下代码:
SetWindowLong(self.Handle, GWL_WNDPROC, Longint(lpPrevWndProc));
{ Free our user-created window procedure }
FreeObjectInstance(WndProcPtr);
var
a: Pointer; a := Pointer(lpPrevWndProc);
CallWindowProc(a, hw, uMsg, wParam, lParam);
function NewWndproc的声明应该放在那里??