由云台协议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,深圳南山科技园
 
阅读更多

扫码向博主提问

去开通我的Chat快问

zanfeng

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • .net c++
  • 控件 组件
  • 并发串口socket
  • 架构
  • IO 数据库
想对作者说点什么? 我来说一句

ONVIF云台控制

2016年12月07日 33.27MB 下载

各种云台协议

2012年07月15日 32KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭