我写的一个C++的MFC程序,如下图:PageEndProc这个函数会作为一个回调函数传入funcAplIFEntryEventFunc这个函数,我再头文件里声明了一个事件PostScanEveryPage,需要在回调时触发这个事件。但是因为PageEndProc这个没加作用域限制符CPnScanOCXCtrl::导致调用PostScanEveryPage会提示为定义标识符;如果加上这个标识符,在传入funcAplIFEntryEventFunc会提示转换无效。不知道怎么做才是对的。
// For Tool Kit
long _stdcall PageEndProc(SCAN_PAGEINFO* pPage)
{
//char str[260];
//memset(&str, 0x00, sizeof(str));
//long err = 0;
//if(funcAplIFGetOrgFileName){
// funcAplIFGetOrgFileName(str, &err);
//}
gPageCnt++;
PostScanEveryPage(gPageCnt);
return 0;
}
LONG CPnScanOCXCtrl::Scan(LONG nXferCount, LONG bAsync)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// TODO: 在此添加调度处理程序代码
long sts;
long errNo;
if (!funcAplIFEntryEventFunc) {
return 0;
}
if (!funcAplIFScanExec) {
return 0;
}
// set event function
sts = funcAplIFEntryEventFunc((long)PageEndProc, NULL, &errNo);