| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3656 人关注过本帖, 1 人收藏
标题:这个dll如何调用
只看楼主 加入收藏
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:371
专家分:1157
注 册:2015-10-2
结帖率:93.75%
收藏(1)
已结贴  问题点数:50 回复次数:7 
这个dll如何调用
dll.zip (2.58 MB)
麻烦大家看看文件夹里的 mhs.dll 能不能用 regsvr32 注册。文件夹内也有注册用的 bat 批处理,但是执行后,不能用 createobject('mhs')进行调用。这个mhs.dll,是当地医保公开发给各个医院,进行上传病历用的,在vfp里怎样使用,试了若干方法没成功。谢谢解答!
搜索更多相关主题的帖子: dll 调用 文件夹 注册 vfp 
2017-08-26 00:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:50 
如果Windows版本比XP更高,用户要以管理员身份登录并用“以管理员身份”运行这个bat文件。

[此贴子已经被作者于2017-8-26 06:42编辑过]

2017-08-26 06:40
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:371
专家分:1157
注 册:2015-10-2
收藏
得分:0 
吹版版主好!是用管理员身份登录并用“以管理员身份”运行这个bat文件,执行成功的。但关键是用vfp调用它一直没成功。他们给了调用实例如下:
pb 调用:
oleobject  mhs5
mhs5=create oleobject
long   vresults
vresults=mhs5.ConnectToNewObject("cmhs5.mhs5")
if vresults<>0 then
  messagebox('系统出错','util.WebDll')
  return
end if
 vresult=mhs5.mhs5invoke(ls_sbjbm,g_userkey,ls_jsh,ls_method,ls_jsonds)
 sle_8.text =vresult
 
 C#开发环境直接引入mhs.dll,直接调用服务即可调用实例
(1)      string username = txtName.Text;
            string passwd = txtPasswd.Text;
            var  result = mhs5.loginnet(username, passwd);
(2)var  resultObject = mhs5.mhs5invokenet(sbjgbh, userKey, hisjyh, method, jsonPara);
     吹版您看看,转成vfp调用,该如何做。非常感谢您!

2017-08-26 21:27
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
没测试环境,这样试试:
mhs5 = CREATEOBJECT("cmhs5.mhs5")
IF VARTYPE(mhs5) != "O"
    MESSAGEBOX("系统出错")
    RETURN
ENDIF
vresult = mhs5.mhs5invoke(ls_sbjbm,g_userkey,ls_jsh,ls_method,ls_jsonds)
sle_8.text = vresult
2017-08-26 22:32
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:371
专家分:1157
注 册:2015-10-2
收藏
得分:0 
上次发了个回帖,现在打开却不见了。现在回帖的框也不见了。是感谢吹版版主的回帖!只能通过编辑此框了。恕我没回帖!感谢吹版主。现在能用vfp调用了,最大的原因一是:没安装4.0的.NET,二是:吹版主的回帖的启发最大。因为最担心的是vfp 能不能用 createobject 调用。感谢吹版的指导!但还有较大的问题需要解决,因为上传资料,要求用 JSON 格式上传,JSON 怎样引用等。 比如 vresult = mhs5.mhs5invoke(ls_sbjbm,g_userkey,ls_jsh,ls_method,ls_jsonds),里面的 ls_jsonds 是 JSON,指的是一篇JSON的文本,如何引用。现在正在测试看看。也请求吹版多指导!



[此贴子已经被作者于2017-9-6 23:07编辑过]

2017-08-31 23:13
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用wcx_cc在2017-8-26 00:17:36的发言:

麻烦大家看看文件夹里的 mhs.dll 能不能用 regsvr32 注册。文件夹内也有注册用的 bat 批处理,但是执行后,不能用 createobject('mhs')进行调用。这个mhs.dll,是当地医保公开发给各个医院,进行上传病历用的,在vfp里怎样使用,试了若干方法没成功。谢谢解答!

从提供文件包中dll.bat的内容看,有这一句是用作注册mhs.dll:
C:\Windows\\Framework\v4.0.30319\regasm C:\cmhs5\mhs.dll /tlb
可见mhs.dll文件是用.NET开发的COM服务类,就不能用 regsvr32 注册。

手工注册,可以这样试试:
1、假设mhs.dll文件是放在 C:\mhs5\ 文件夹
2、找到 RegAsm.exe 文件(如Win10 C:\Windows\\Framework\v4.0.30319\RegAsm.exe)
3、为方便操作,将 RegAsm.exe 复制到 C:\mhs5\ 文件夹
4、用管理员身份登录Windows,在命令提示符(以管理员身份运行)窗口下执行:
   c:
   cd\mhs5
   RegAsm mhs.dll /tlb
也可试试 RegAsm mhs.dll

卸载:RegAsm /u mhs.dll

2017-09-01 07:34
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
还有一个文件 cmhs5注册表.reg,如果使用这个文件,右点击文件选择“以管理员身份运行”。
但要注意这个文件里面的几句:
"CodeBase"="file:///C:/cmhs5/mhs.dll"
"Class"="cmhs5.mhs5down"
"Class"="cmhs5.readcard"
"Class"="cmhs5.mhs5"
可见,mhs.dll文件是放在 C:/cmhs5/ 文件夹
还注册了三个类:
cmhs5.mhs5down
cmhs5.readcard
cmhs5.mhs5
VFP用createobject()创建引用类对象时要注意是用那一个。
2017-09-01 07:47
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:371
专家分:1157
注 册:2015-10-2
收藏
得分:0 
非常感谢吹版版主!这几天太忙没上网,今天半夜才打开本坛,喜见版主回复!我再试试看。再次谢谢!
2017-09-05 00:34
快速回复:这个dll如何调用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035097 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved