- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
将DLL封装成OCX
说明文档
封装工具
使用Visual C++ 6.0对dll文件进行封装。
封装方法
可使用静态调用dll和动态调用dll两种方法调用dll,然后封装各接口函数。
静态调用的前提条件是:厂家提供dll和相关的库文件(.lib)以及头文件(.h)。
动态调用的前提条件是:厂家只提供dll文件
封装过程
3.1 动态调用dll封装(以封装浩宁达读写卡dll为例)
3.1.1创建项目
1、打开Visual C++ 6.0,单击file→new单击Project选项卡,选择,弹出如下对话框:
2、输入项目名,单击,出现如下对话框。
单击完成创建一个控件。
3.1.2 创建接口函数
单击菜单栏上的“查看”,选择菜单,选择Automation选项卡,弹出如下对话框:
单击Add Method按钮,弹出如下对话框:
在第一个文本框里面输入想要加入的方法名,第三个下拉选框里面选择方法的返回类型。在下面的Parameter list列表框里可以加入该方法要带的参数和参数类型,如果参数要回调,则要选择带指针的类型;单击Edit Code按钮可以开始编写方法。
注:参数类型的选择不多,对于dll中提供的函数参数要挑选适当的类型,然后在接口函数中将其转换为dll函数的参数类型。
3.1.3 编辑接口函数
主要编辑“项目名Ctl.app”中的内容。下面以封装浩宁达提供的卡表操作动态库文件中的读卡函数Read_card为例说明如何封装dll文件。
dll中Read_Card函数:
__stdcall long
Read_Card(HANDLE AHandle, long Port, struct rcStruct *rcS,
char *User_ID,
char *Comm_ID,
char *CycleDisplay,
char *MRData);
ocx中封装的函数
a、定义Read_Card函数
typedef long (CALLBACK* RCard)(long, long, struct rcStruct*FAR,char*FAR,char*FAR,char*FAR,char*FAR);
b、定义自定义的结构体
//读卡结构体(参数)
#pragma pack( push, 1 )
struct rcStruct{
//以下标识数据项不管插没插表都必须返回
long Work_ID; //厂商代码(最大2位十进制数字)
long Prog_ID; //表型代码(最大2位十进制数字)
long Card_ID; //卡型代码(最大2位十进制数字)
long Office_ID; //各供电局的地区代码
//如果没有插表,返回以下参数数据
long Far_ID; //远抄表号。
long Meter_Const; //表常数
long WarnDL1; //一级报警电量(金额)
long WarnDL2; //二级报警电量(金额)
long Max_HoardDL; //最大囤积电量(金额)
long Max_OverDL; //最大透支电量(金额)
double Max_Load; //最大负荷(千瓦)
long PTCT; //倍率
long CBDay; //自动抄表日
long XLDTSJ; //需量递推时间
long Loadwarndelay; //超负荷报警延时
double Price_J; //尖单价
double Price_F; //峰单价
double Price_P; //平单价
double Price_G; //谷单价
double SaleDL; //购电量(金额)
long Sale_Num; //购电次数(购电次数从1起)
//如果插表,返回以下抄表数据
double OverZeroDL_M; //过零电量
double RemainDL_M; //剩余电量
long Sale_Num_M; //表内购电次数(购电次数从1起)。
double Power_Z_M; //总用电量
double Power_J_M; //尖用电量
double Power_F_M; //峰用电量
double Power_P_M; //平用电量
double Power_G_M; //谷用电量
long Read_Year_M; //抄表日期的年
long Read_Mon_M; //抄表日期的月
long Read_Day_M; //抄表日期的日
long Read_Hour_M; //抄表日期的时
long Read_Minute_M; /
您可能关注的文档
- 对雾霾要铁腕治理坚决打好蓝天保卫战(2)课程的考试100分.doc
- 对非营利组织志愿者的人力资源管理研究.doc
- 对韩国民众的认识.doc
- 对高3复习有效性的思考.doc
- 对高职院校道桥专业实行“工程力学”模块化教学的探索.doc
- 寺庙园林的选址布局和植物配置.doc
- 寻找乐趣玩味读书蓝天刘方.doc
- 寻广东韶关乐昌梅花大坪村杨氏家族外迁后裔启事.doc
- 寻找底部放巨量的个股.doc
- 寻找新的市民生存形态(暂议).doc
- 2025年跨境电商平台运营合规性法律风险解析报告.docx
- 2025年跨境电商平台运营中的跨境支付安全法律风险防范.docx
- 《大西洋鲑(洄游型)苗种培育技术规范》.pdf
- 2025年跨境电商平台运营中知识产权法律保护报告.docx
- 社区老年助餐服务智能化改造可行性及实施策略分析.docx
- 量子计算商业化落地与2025年行业解决方案深度分析报告.docx
- 2025年跨境电商平台跨境贸易摩擦法律风险分析.docx
- 生物基材料包装市场前景展望:2025年渗透率提升与技术创新驱动.docx
- 碳中和目标下2025年能源政策调整与结构调整研究报告.docx
- 2025年文化娱乐行业图书出版市场趋势研究报告.docx
文档评论(0)