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

由云台协议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,深圳南山科技园
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值