首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

在BC里,使用CALLBACK类型的函数,为什么不能使用FORM里的组件呢?而且出错!解决方法

2012-02-06 
在BC里,使用CALLBACK类型的函数,为什么不能使用FORM里的组件呢?而且出错!我的函数是这样的:LRESULTCALLBAC

在BC里,使用CALLBACK类型的函数,为什么不能使用FORM里的组件呢?而且出错!
我的函数是这样的:
LRESULT   CALLBACK   HookProc(int   nCode,WPARAM   wParam,LPARAM   lParam)
{
PKBDLLHOOKSTRUCT   pKBHook   =   (PKBDLLHOOKSTRUCT)lParam;
if(pKBHook-> vkCode==VK_NUMPAD1)
{
            Timer1-> Enabled   =   false;
            Timer2-> Enabled   =   false;
            ClearZero();
            Timer3-> Enabled   =   true;
}
return   CallNextHookEx(hKeyHook,   nCode,   wParam,   lParam);
}
Timer1,Timer2,Timer3是在FORM上的组件,ClearZero是一个普通的函数。
编译的时候提示出错是:[C++   Error]   Unit1.cpp(52):   E2268   Call   to   undefined   function   'ClearZero '
[C++   Error]   Unit1.cpp(50):   E2451   Undefined   symbol   'Timer1 '
[C++   Error]   Unit1.cpp(51):   E2451   Undefined   symbol   'Timer2 '
[C++   Error]   Unit1.cpp(53):   E2451   Undefined   symbol   'Timer3 '
包括在.h文件里定义的全局   变量和函数都不行,有出错,这是什么原因?该如何改就可以访问了?

[解决办法]
Form1-> Timer1-> Enabled = true;
Form1-> Timer2-> Enabled = true;
Form1-> Timer3-> Enabled = true;

你的 callback 并没有在类内,所有要有一个指定来源的描述

热点排行