ISampleGrabberCB 封装成Dll 的一个问题
初学,见谅
想实现这样的功能:
从摄像头捕捉到视频
放到内存 --> 个人认为不应该这样处理
经处理后
从内存播放出来 --> 这个似乎也不太容易
整个过程是要连续实时的
整体上有一个时间延迟应该无妨
以下是我现在的方法, 请问是不是整体上就不对?
(目前我只能实现1frame/sec的抓,所以放起来结果惨不忍睹)
从ISampleGrabberCB 派生出 CSampleGrabberCB 并加入其他变量
问题是这样的
我看书上说能在Extended Dll中整个封装一个类(叫类A,这里就是CSampleGrabberCB)
但是如果A中含有的变量中间有其他类(类B)的对象
还能成功么?
具体的说,我在A中抓到bmp图片,放到内存
原来的程序由A负责将内存中的图片显示出来,所以要知道对话框的指针
所以
class A : public ISampleGrabberCB
{
...
COtherDlg *pOwner;
...
};
现在要把A做成dll,
我试了一下声明成
extern CCaptureDlg * pOwner;
dll能正常生成
但调用dll的工程却不能编译
报错大致为: (CSampleGrabberCB是放到dll里面的类,将其 .h文件放到调用的工程中 include进来)
*.h(41): error C2143: 语法错误 : 缺少“;”(在“*”的前面)
*.h(41): error C2501: “CSampleGrabberCB::CCaptureDlg” : 缺少存储类或类型说明符
*.h(41): error C2501: “CSampleGrabberCB::pOwner” : 缺少存储类或类型说明符
请问应该怎样处理?
谢谢