通达信的调用dll函数编号7手机怎么建立的

多宣 2024-06-26 11:04:03
最佳回答
这样就能实现在ie上直接对**进行操作。而我要封装的这个动态库,厂家只提供了一个单的动态库和一百多字的说明,也就是说明一下动态库中有机个函数和其对应的参数。也就是厂家就连动态库对应的头文件也没有提供。接到这个任务后,我第一想到的是用vc的atl来实现它。你问我为什么要用atl也不用别的,如cb、delphi之类的。我只能说我觉得写activex还是用vc好;况且还要对硬件进行操作,这样一来当然是用vc了。别说我没提醒你,用cb、delphi之类的有可能会出现预想不到的惊奇。。。。现在让我带着进入正题吧!先用atlcomappwizard生成一个名叫posactivex的工程,生成时系统会问你是生成dll还是exe。当然是dll的了。生成好后加入一个接口叫iposctrl,当然了要在web上用,所以生成的接口一定是要小所以选择litecontrol的。你可别问我怎么加入,如果这都不会,那我写的这文章是不适合你看的。所以等你学会加入接口后再看。接口加好后,我就要实现方法了。首先用接口一般都要对其进行初始化。所以加入一个叫init(shortncom)的接口方法,该方法完成加载dll和dll中的功能函数,还有就是打开对**进行操作的com口;还有一个是修改**的时间的方法叫modifyposdt(bstrbstrdt);还有个是清空**中数据的方法--emptypos()。最后,当你不想用时就要关闭所打开的com口--quit()。在生成接口iposctrl时同时会生成cposctrl类。我有个习惯,就是我一般是把实现方法都写在类中,而接口只时输出该类中你想输出的方法。所以在类中我就写了以下几个方法:initdll()----加载dll库和其中的功能函数;exitdll()----卸载dll库,用完后不卸载是在占用内存。所以它是少不了的。setposdatetime(char*pchdt)---设置**的时间。clearpos()----清空**中的记录。在类中我就写了这几方法了。在说一下我要输出的接口方法有:iint(shortncom)----初化接口,为调用做准备。quit()----退出程序时,调用它退出接口调用。modifyposdt(bstrbstrdt)----设置**时间。emptypos()----清空**数据。完了就这么多。现在来看看我的源程序吧!//posctrl.cpp:implementationofcposctrl#include"stdafx.h"#include"posactivex.h"#include"posctrl.h"///////////////////////////////////////////////////////////////////////////////cposctrl///////////////////////////////////////////////////////////////////////////////police.dll所用到的常量定义/////////////////////////////////////////////////////////////////////////////#definecom_uprecord1#definecom_uppolicelen2#definecom_upsimpledatalen3#definecom_upsimplepun**hlen4#definecom_upgeneraldatalen5#definecom_upgeneralpun**hlen6#definecom_emptypolice7#definecom_emptysimpledata8#definecom_emptysimplepun**h9#definecom_emptygeneraldata10#definecom_emptygeneralpun**h11#definecom_downrecord0x80#definecom_downstreetcodelen0x81#definecom_downblackl**tlen0x82#definecom_downpeccancysimplelen0x83#definecom_downpeccancygenerallen0x84#definecom_downdatetime0x85#definecom_exit0x86#definecom_init0x87#defineerr_upsimpledatalen0#defineerr_upsimplepun**hlen1#defineerr_upgeneraldatalen2#defineerr_upgeneralpun**hlen3#defineerr_uppolicelen4#defineerr_uprecord5#defineerr_downstreetcodelen6#defineerr_downsimplepeccancycodelen7#defineerr_downgeneralpeccancycodelen8#defineerr_downblackl**t9#defineerr_downdatetime10#defineerr_emptydata11#defineerr_getcode12;#defineconst_terminator0x20/////////////////////////////////////////////////////////////////////////////////#pragmadata_seg("mydata")statichinstancedllinst=**;//动态库句柄#pragmadata_seg()//handlehcom;//com串口句柄///////////////////////////////////////////////////////////////////////////////////police.dll动态库函数功能定义/////////////////////////////////////////////////////////////////////////////////handle(__stdcall*init_comm)(lpstrstr);//初始化通信口byte(__stdcall*exit)(handlehcom);//关闭通信口byte(__stdcall*protocol)(handlehcom,bytecmd,bytelen,byte*_dt,byte*prlen,byte*prdt);//通信协议byte(__stdcall*pipe_control)(handlehcom,bytemode);//多路控制typedefbyte(__stdcall*dev_escape)(handlehcom);//断开多路控制///////////////////////////////////////////////////////////////////////////////cposctrl//----------------------------------------------------------------------------////功能:加载police.dll动态库和其中的一些功能函数//输入/输出参数:无//版本:1.0//修改://----------------------------------------------------------------------------//voidcposctrl::initdll(){dllinst=loadlibrary("police.dll");if(dllinst!=**){init_comm=(handle(__stdcall*)(lpstr))getprocaddress(dllinst,"init_comm");exit=(byte(__stdcall*)(handle))(getprocaddress(dllinst,"exit"));protocol=(byte(__stdcall*)(handle,byte,byte,byte*_dt,byte*prlen,byte*prdt))(getprocaddress(dllinst,"protocol"));pipe_control=(byte(__stdcall*)(handle,byte))(getprocaddress(dllinst,"pipe_control"));dev_escape=(byte(__stdcall*)(handle))(getprocaddress(dllinst,"dev_escape"));}else{::**box(**,"加载动态库失败!","提示信息",mb_ok|mb_icon**rmation);exit(0);}}//----------------------------------------------------------------------------////功能:释放动态库//输入/输出参数:无//版本:1.0//修改://----------------------------------------------------------------------------//voidcposctrl::exitdll(){if(dllinst!=**)freelibrary(dllinst);}//----------------------------------------------------------------------------////功能:控件接口方法,对外提供关闭串口,释放动态库。//输入/输出参数:无//版本:1.0//修改://----------------------------------------------------------------------------//stdmethodimpcposctrl::quit(){//todo:addyourimplementationcodehere(*exit)(hcom);exitdll();::**box(**,"关闭com口成功","提示信息",mb_ok|mb_icon**rmation);returns_ok;}stdmethodimpcposctrl::get_comno(short*pval){//todo:addyourimplementationcodehere*pval=m_comno;returns_ok;}stdmethodimpcposctrl::put_comno(shortnewval){//todo:addyourimplementationcodeherem_comno=newval;returns_ok;}//----------------------------------------------------------------------------////功能:提供初化动态库的对外接口,并实现打开口串口的功能。//输入/输出参数:11--要打开的串口号。 20210311
汇率兑换计算器

类似问答
  • 通达信指标公式编辑教程大全(函数+指标+实例)
    • 2024-06-26 01:18:52
    • 提问者: 未知
    通达信指标公式编辑教程大全(函数+指标+实例)大盘函数常数函数引用函数指标函数数学函数 时间函数横向统计函数系统函数说明绘图函数绘图参数统计函数行情函数逻辑算术函数颜色参数cdp/逆势操作系统三重指数平滑移动平均trix人气线obv停损点转向操作系统sar变动率指标roc威廉变异离散量wvad威廉指标w%r布林线boll带状能量线cr常用技术指标 平滑异同移动平均线macd心理线psy指数平...
  • 没有未来函数的通达信指标信号也会消失啊!!
    • 2024-06-26 07:26:10
    • 提问者: 未知
    信号消失很正常呀,当日的条件满足的时候条件成立,信号显现,但信号不满足的时候,信号自然会消失的。对于取值月线或者周线的时候,当月的信号取决于当日信号,信号当然也自然会消失的。这不奇怪。只有到达月底 或者周末的时候仍能满足条件的情况下,信号才会被保留下来。文字的表达解释只能...
  • 通达信的函数指标 hy_indexv 怎么使用?我用过没数据输出来.
    • 2024-06-26 14:42:01
    • 提问者: 未知
    指数函数中的---hy_indexv ---行业指数的成交量表示返回对应的行业指数成交量,如果没有通达信板块指数,则不支持。
  • 通达信怎样建立自己的板块指数?
    • 2024-06-26 05:03:55
    • 提问者: 未知
    达信中,要建自己的板块指数,先选个股建立一个板块。然后选功能定制品种——组合品种管理”就打开一个“定制品种管理”窗口,选择右边的“添加品种”出现一个“组合品种设置”,点击下面的“添加品种”出现“选择品种”框,在“用户板块”中选择自己的板块,再选择“全部——确定”,就可将板块的个股全部添加到“组合品种设置”中了,再在左边的“品种代码 393”的框中输入3个数据代码,在“品种简称”中输入指数名称,最后...
  • 通达信l2_amo(n,m)函数的应用问题
    • 2024-06-26 16:24:49
    • 提问者: 未知
    由于l2_amo函数表示成交额元单位计算结会大了方便查看和软件版面简洁把计算出来结除10000显示数值单位万
  • 指标显示用到dll函数怎么解决
    • 2024-06-26 01:09:21
    • 提问者: 未知
    一:打开腾讯电脑管家,找到工具箱-电脑诊所。二:点击软件问题专区。三:在丢失dll文件一键修复区,找要修复的dll文件选项。四:点击立即修复,便可以恢复正常了
  • 高达中机体的编号怎么编的?
    • 2024-06-26 04:54:07
    • 提问者: 未知
    比如ae社喜欢用希娜字母来作为内部代号。泻药 阿纳海姆使用希腊字母命名 这个就比较靠后了 后面我会说到 先从头说 uc纪元 本文不讨论独角兽,独角兽nt,提坦斯tr企划以及...
  • 通达信的选股公式全部用到未来函数
    • 2024-06-26 14:37:16
    • 提问者: 未知
    b:zig(3,50/5)*100,colorwhite; zig为未来函数. 不能去掉.未来函数是这种公式的灵魂.
  • 求高手在60日巨量最低位画线如何用通达信函数编写
    • 2024-06-26 13:26:16
    • 提问者: 未知
    fh:=ref(l,findhi**ars(v,1,60,1));画:hhv(fh,1);
  • 关于通达信的函数和指南针函数有什么相同和不相同关于通达信的函数和指南针函数有什么相同和不相同
    • 2024-06-26 21:10:39
    • 提问者: 未知
    randerr 产生比特误差样本randint 产生均匀分布的随机整数矩阵randsrc 根据给定的数字表产生随机矩阵wgn 产生高斯白噪声 信号分析函数biterr 计算比特误差数和比特误差率...
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。