由云台协议DLL浅谈插件程序的编写(下)【原创】

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

由云台协议DLL浅谈插件程序的编写(下)【原创】

1.创建项目,“Visual C++项目”--->“Win32”--->“Win32 项目”--->“DLL”,选中“导出符号”,(VS2003平台),按源码目录组织规范设置项目,参考我的blog 2004.12其中文章。

2.添加链接库导出定义文件:****.def,加入到项目中。

; ptzPelco-D.def : 声明 DLL 的模块参数。

LIBRARY "ptzPelco-D"

EXPORTS

; 此处可以是显式导出

CreatePTZInstance PRIVATE

ProtocolNames DATA

说明:上面分别是导出变量和导出函数。

3.把工程默认的导出变量和导出函数删除,默认导出的类也删除(头文件可删空)。

4.在DllMain所在的cpp文件添加定义:

const char * ProtocolNames[] =

{

"PELCO-D",

"PELCO-P",

0 // 必须以0表示结束

};

CPTZInterface * __stdcall CreatePTZInstance(const char * pszProtocolsName)

{

if (0 == strcmp(pszProtocolsName, ProtocolNames[0]))

{

return new CPelco_D; // 看下面的定义!

}

if (0 == strcmp(pszProtocolsName, ProtocolNames[1]))

{

return new CPelco_P; // 看下面的定义!

}

return 0;

}

5.从接口派生出一个类,定义如下:

class CPelco_P: public CPTZInterface { …… }

注意上面的CreatePTZInstance函数,这样就达到了创建这个协议对象的目的了。

6.说明:创建的对象用该类的Destroy()销毁,由使用者调用。

7.转载请保留完整文档,天衣有缝原创,2004.12.24凌晨0:05,深圳南山科技园

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有