C#如何调用第三方com组件

自挂丶东南枝 2017-08-17 03:26:52
因为工作需要,要编写一个发格8070数控系统的二次开发软件,用于读取系统变量,系统公司提供了一个com组件API8070.dll,我用VS2010,注册后在项目中添加了api8070.TLB的引用。
编写如下代码
private void button3_Click(object sender, EventArgs e)
{
Api8070.CNC8070_PParamTable cs = new Api8070.CNC8070_PParamTable();
textBox1.Text = cs.ReadCommonPParam(10020).ToString();
}
可以成功读取到系统变量,但是出现以下问题:
我编写读取系统变量的软件与发格8070通软件不能同时打开,任何一个打开,另一个就会报错,但我需要两个软件同时运行。
有没有高手知道我下,谢谢!

...全文
1387 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Saleayas 2018-11-15
  • 打赏
  • 举报
回复
如果他们的例程支持多个进程同时访问,你可以照着他们的 C++ 代码封装一下。
szl36241616 2018-11-14
  • 打赏
  • 举报
回复
引用 6 楼 kissmonica_gh 的回复:
厂家的C++实例可以用,他用的api8070.h文件,先建立的服务器连接,然后通过接口访问的变量值。
你好,能分享一个C++例子吗? 然后我安装了Fagor的模拟器,安装文件中有一个api8070_i.h文件,是你说的这个api8070.h文件吗?
  • 打赏
  • 举报
回复
实际上这还是厂商的 com 组件不合格的问题。但是你这里无法沟通厂商。
  • 打赏
  • 举报
回复
引用 6 楼 kissmonica_gh 的回复:
厂家的C++实例可以用,他用的api8070.h文件,先建立的服务器连接,然后通过接口访问的变量值。
那么你就不用纠结于他们的什么 com 组件了。
Haou2020 2017-09-01
  • 打赏
  • 举报
回复
不能同时对同一个串口操作啊
threenewbee 2017-08-31
  • 打赏
  • 举报
回复
一个是32bit和64bit的兼容问题,一个是是否正确注册了控件。
丷丩 2017-08-31
  • 打赏
  • 举报
回复
串口的通信机制没法改变,不过可以这样:做一个统一的接口,不管谁来读取都进行排队。队列控制由该接口内部控制。
qq_39865973 2017-08-18
  • 打赏
  • 举报
回复
放弃吧,做不出来的不要浪费时间了
泡泡龙 2017-08-18
  • 打赏
  • 举报
回复
如果仅仅是读取系统变量的话,可以考虑注入一个dll到厂家dll里面,然后和你的进程做通信,不过这比较难
自挂丶东南枝 2017-08-17
  • 打赏
  • 举报
回复
厂家的C++实例可以用,他用的api8070.h文件,先建立的服务器连接,然后通过接口访问的变量值。
by_封爱 版主 2017-08-17
  • 打赏
  • 举报
回复
基本上不可能的... 你这个大概是是串口通讯. 因为串口只能被一个"实例"打开 . 所以这个是没办法的.. 只能运行一个.. 就好比N串口工具也不能同时对一个串口操作. 或者 他自己的软件 运行2个exe 也是无法运行的.. 谁先运行 后面的就不行了.. 这个基本上无解.. 除非从底层 他串口接收数据的时候 做tcp转发服务 给你.. 不过这个基本没人会给你做... 所以 放弃吧
自挂丶东南枝 2017-08-17
  • 打赏
  • 举报
回复
厂家提供了一
引用 2 楼 wddw1986 的回复:
这种问题去找厂商啊,让他们提供示例和支持。
厂家提供了一个C++的例子。
dy00544 2017-08-17
  • 打赏
  • 举报
回复
引用 1 楼 kissmonica_gh 的回复:
当两个软件同时打开,读取系统变量时就会出现这个错误,但是当我单独执行我编写的软件时就没有任何问题。
建议将你写的程序在一台电脑上单独运行,另一个程序在另一台电脑运行来测试。 可能是此com程序只允许一个实例,或者是访问的接口或者数据为独占模式。
cheng2005 2017-08-17
  • 打赏
  • 举报
回复
这种问题去找厂商啊,让他们提供示例和支持。
自挂丶东南枝 2017-08-17
  • 打赏
  • 举报
回复


当两个软件同时打开,读取系统变量时就会出现这个错误,但是当我单独执行我编写的软件时就没有任何问题。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧