加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

将COM对象公开给在Wine / Linux中运行的应用程序

发布时间:2020-12-13 23:21:37 所属栏目:Linux 来源:网络整理
导读:在我完全迁移到 Linux之前,只有一个Windows应用程序让我烦恼.这是我正在使用Wine运行的股票图表应用程序(找不到任何适合Linux的原生应用程序). 此应用程序具有自己的语言,它允许用户从COM组件创建对象以实现外部函数.在Windows中,我使用Mono创建了一个程序,
在我完全迁移到 Linux之前,只有一个Windows应用程序让我烦恼.这是我正在使用Wine运行的股票图表应用程序(找不到任何适合Linux的原生应用程序).

此应用程序具有自己的语言,它允许用户从COM组件创建对象以实现外部函数.在Windows中,我使用Mono创建了一个程序,它公开了允许我与图表软件交互的某些功能.

例:

myObj = CreateObject("myApp.application");
myObj.data = Price;
volatility = myObj.Volatility;

问题:如何将在Mono运行时的Linux环境中运行的“myApp”的ComVisible组件暴露给在Wine中运行的图表软件?

解决方法

不幸的是,mono和wine没有特别的集成,所以你不能直接调用Mono中的Wine托管代码.

一种选择是使用Microsoft的.NET 2.0 framework in Wine.只支持高达2.0.这可能违反了.NET许可证,也可能没有.

另一种选择是使用在wine中运行的winelib编写自定义代理,但是在单一程序中侦听unix域套接字以获取命令.

另一种选择是编写单声道与DCOM上的葡萄酒交谈所需的(相当复杂的)代码.这将是相当困难的,但是对于希望使COM对象工作在单声道中的任何人都会受益.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读