首页 新闻 赞助 找找看

C#调用com组件方法问题

0
悬赏园豆:30 [待解决问题]

[DllImport("SAFESIGN.dll", EntryPoint="SignEx", CharSet = CharSet.Ansi)]
public static extern string SignEx(string bankid, string message);

 

调用的时候

 

SAFESIGN.dll程序集里面的内容

小兵程序的主页 小兵程序 | 初学一级 | 园豆:32
提问于:2015-01-12 09:44
< >
分享
所有回答(2)
0
隔壁老王来了 | 园豆:99 (初学一级) | 2015-01-12 09:54

SAFESIGN.dll这个控件不是C#写的

支持(0) 反对(0) 小兵程序 | 园豆:32 (初学一级) | 2015-01-12 09:59

@小兵程序:

类中先定义要调用的方法,格式如下:

     [DllImport("xxx.dll", EntryPoint = "方法名")]

        public static extern 返回类型 方法名 (对应参数);  

然后调用

支持(0) 反对(0) 隔壁老王来了 | 园豆:99 (初学一级) | 2015-01-12 10:15

@???: 我这样调用了,提示“无法在 DLL"xx.dll"中找到名为"SignEx"的入口点”

支持(0) 反对(0) 小兵程序 | 园豆:32 (初学一级) | 2015-01-12 10:19

@小兵程序: 添加引用 重新编译一次 再试试

支持(0) 反对(0) 隔壁老王来了 | 园豆:99 (初学一级) | 2015-01-12 10:29
0

你知道 safesign 上的方法声明吗?

safesign 实现了 IDispatch 接口了吗?

Launcher | 园豆:45045 (高人七级) | 2015-01-12 10:01

这是我通过工具看到的

支持(0) 反对(0) 小兵程序 | 园豆:32 (初学一级) | 2015-01-12 10:04

@小兵程序: 如果你能导出 tlb 的话,你可以通过项目的添加引用导入 safesign,然后 vs 可以帮助你自动生成对应的互操作程序集。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2015-01-12 10:05

@Launcher: 为什么我导出tlb没有后缀名,这样的

支持(0) 反对(0) 小兵程序 | 园豆:32 (初学一级) | 2015-01-12 10:15

@小兵程序: 项目-〉添加引用-〉COM 选择 safesign.

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2015-01-12 10:19

@Launcher: 请问这个问题解决了吗?我也遇到了。肿么办

支持(0) 反对(0) 坏男人李大仁 | 园豆:200 (初学一级) | 2017-06-14 15:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册