PB调用金税组件接口

2018-11-20 18:37

标题:PB调用金税组件接口的问题,急!!! 作者:baoxiangxiang 时间:2008-05-27 15:54 目前平台是PB7.0,金税提供了一个组件接口,这样可以直接用本公司管理系统调用金税软件打印各种发票.

在PB中需要调用一个addedrealtax.dll.第一步是开卡,从金税提供的软件方案看是使用opencard(),

申明了全局外部函数:

FUNCTION int opencard() LIBRARY \金税\\BIN\\addedrealtax.dll\

然后直接使用函数opencard(),系统报错为:

Error opening DLL library addedrealtax.dll for external function at line 1 in function opencard()....

请问我这样调用行不行,是不是对DELPHI写的DLL(金税是用DELPHI开发的)有特殊的要求?

标题: 作者:jnf009 时间:2008-05-27 15:54 [color=red][b]此回复于2008-06-09 09:40被

[url=http://bbs.51cto.com/profile-uid-24207.html]ribut9225[/url] 评为最佳答案[/b][/color]

//下面是个PB调用例子你看看,我测试过了可以调用 //调用前需要注册一下金税提供的DLL文件,如:regsvr32 D:\\weiliang\\20080528\\Tax\\TAX\\TaxCardX.dll //如果在安装过金税系统的电脑则可以不用注册

//这里用到的是OLE对象,不能在外部函数中定义,因为金税很多方法是在里面的对象里面。 long ll_return OLEobject my_test

my_test = CREATE OLEObject

ll_return = my_test.connecttonewobject(\//导入金税TaxCardX.dll中的GoldTax对象 ///因为OpenCard()是在GoldTax里面 IF ll_return < 0 THEN DESTROY my_test

MessageBox(\String(ll_return)) Return

elseif ll_return = 0 then MessageBox(\END IF

OpenCard() //打开金税卡

标题: 作者:baoxiangxiang 时间:2008-05-27 15:55 再摘录一部分金税提供的接口文挡:

===================================== 开启金税卡 方法:OpenCard();

功能:本项功能必须在其它功能前首先调用,如果尚未调用 此功能而调用其它功能,则会产生返回码为1的尚未开启金税卡 错误。它开启并占用金税卡设备,初始化各项参数,分配软件所 需各项资源; 传出:

InvLimit – 开票限额, 金税卡发票开具价税合计限额

TaxCode – 本单位税号

TaxClock – 金税卡时钟

MachineNo – 开票机号码,主开票机为0

IsInvEmpty – 有票标志,0为金税卡中无可开发票,1为有 票

IsRepReached – 抄税标志,0为未到抄税期,1为已到抄税 期

IsLockReached – 锁死标志,0为未到锁死期,1为已到锁死 期

======================================

调用方式举例

下面仅以C++ Build语言为例分几种情况作一举例:

程序要实现的流程如下:首先要创建组件实例GoldTax,然后调用 OpenCard()方法打开金税卡,如果成功打开金税卡了,这时就可以传入开票数

据了(传入发票整体信息前调用InvInfoInit()方法初始化发票整体信息各项

属性。)。记住:开票完毕时,要关闭金税卡,释放对金税卡的设备占用,释放

其他占用的资源。

GoldTax = new TGoldTax( this); GoldTax->OpenCard(); ……

此处添加实现各种功能的具体代码 ……

GoldTax->CloseCard(); delete GoldTax;

标题: 作者:ribut9225 时间:2008-05-29 08:36 这个函数声明应该比较简单

不知道对方是怎么写这个DLL的,PB调用DLL有一些特殊要求 你可以看看偶的BLOG 偶给你一连接:

[url]http://ribut9225.blog.51cto.com/24441/73193[/url]

标题:回复 #3 ribut9225 的帖子 作者:baoxiangxiang 时间:2008-05-30 13:18 感谢答复,看了你给的连接,看来PB调用dll确实比较麻烦的,而且金税也不可能为我们单独去改写DLL文件了. 这是对方提供的接口文挡中一部分:

================================================== 对于自主或委托开发管理信息系统的企业,我们开发了 Windows版防伪开票组件接口软件,将防伪税控开票功能嵌入企 业销售软件内,为真正实现防伪税控防伪税控系统与企业管理信 息系统的无缝连接创造了必要的条件。

组件调用软件基于ActiveX规范,提供标准开票界面和后台 命令两种接口方式,实现企业日常开具、作废和打印税控发票的 功能,为需要实时打印发票或有专门开票要求的企业提供了适宜 的解决方案。

对于可以采用通用开票界面的销售软件,推荐使用标准开票 界面接口方式,此时本软件提供与防伪税控开票软件相同的开 票、查询和作废用户界面,并将发票数据通过组件接口传入销售 软件。采用这种方式,企业的销售软件不用开发专用发票开票界 面,开票界面比较规范统一。

对于开票时需要录入辅助数据,或对发票填写方式有所约 束,必须具备专门或行业性开票界面的企业,则应采用后台调用 开票命令的接口方式。这种方式的开票数据必须从企业销售软件 的开票界面取得,通过定义的COM接口传入接口软件,通过接 口软件将开票数据记入防伪开票软件数据库并写入金税卡。

安装本软件之前,必须首先安装防伪税控系统硬件设备,并

安装Windows版防伪税控开票子系统软件。在本软件安装后, 进入防伪税控开票子系统,选择系统注册功能,将软件注册版本 设为组件接口版,然后输入从我公司取得注册特征码,才能使用 本软件。

本软件使用时,必须接好防伪税控设备,插好本企业IC卡, 并且没有任何软件访问金税卡设备,本软件必须独占使用金税 卡。

标题: 作者:baoxiangxiang 时间:2008-05-30 13:20 在不能改变这个条件的情况下,还有其他解决的办法吗?我看到说对 COM类型的组件,可以使用connecttonewobject()的方法,不知可行否? 标题: 作者:ln_lz 时间:2008-06-05 10:11 我们连接的是这个!你可以试一下! connecttonewobject(\

标题: 作者:jnf009 时间:2008-06-05 13:54 楼上的connecttonewobject(\是在PB中调用吗?请问下你们是怎么申明和调用的?能否写具体点?谢谢了! 标题: 作者:pan_wei_jie 时间:2008-06-06 10:47 [email]pan_wei_jie@163.com[/email]兄弟,我也在研究这个问题,咱们一起讨论一下?

我邮箱:pan_wei_jie@163.com

MSN也一样:pan_wei_jie@163.com

标题: 作者:chenwenwei 时间:2008-07-11 11:24 二楼说的对是TaxCardX.dll不是addedrealtax.dll,开票系统是CBuilder开发的,如果你公司购买组件接口的话有详细的PB开发的demo,本人开发了一个转换接口程序,具有拆分合并功能也是通过调用TaxCardX.dll直接开启金税卡开具发票。

标题: 作者:chenwenwei 时间:2008-07-11 11:27

addedrealtax.dll是开票系统中的另外一个动态库,而且dll已加密处理 点击查看完整版


PB调用金税组件接口.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三盘区掘进工作面区域瓦斯治理方案报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: