提供给合作方一个dll,包含了接收pos机的数据,以及协议的解析,最后将结果给合作方.dll中有
start()函数,完成侦听socket的功能:void start()
{
listen();//说明接收到pos机数据
if (funcno==01) //如果是定购数据
{
GetData(CString data;int len);//这是个虚函数,表示收到定购数据的处理,想由合作方来处理这些数据
//所以函数由合作方加载该DLL后实现具体功能
}
......}合作方程序调用:
加载dll....
实现dll中的虚函数:
GetData(CString data;int len)
{ CString str;
int i;
str = data;
i=len;
.....
}
start()函数,完成侦听socket的功能:void start()
{
listen();//说明接收到pos机数据
if (funcno==01) //如果是定购数据
{
GetData(CString data;int len);//这是个虚函数,表示收到定购数据的处理,想由合作方来处理这些数据
//所以函数由合作方加载该DLL后实现具体功能
}
......}合作方程序调用:
加载dll....
实现dll中的虚函数:
GetData(CString data;int len)
{ CString str;
int i;
str = data;
i=len;
.....
}
传函数指针!
funcno==01这种情况的调用处理啊,那怎么能start(CALLBACK GetData)呢?那不是start()里面要N多个CALLBACK吗?
哪位懂得的人用个最简单的例子说明一下?