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

将COM对象公开给在WineLinux中运行的应用程序,第1张

概述在我完全迁移到 Linux之前,只有一个Windows应用程序让我烦恼.这是我正在使用Wine运行的股票图表应用程序(找不到任何适合Linux的原生应用程序). 此应用程序具有自己的语言,它允许用户从COM组件创建对象以实现外部函数.在Windows中,我使用Mono创建了一个程序,它公开了允许我与图表软件交互的某些功能. 例: myObj = CreateObject("myApp.applic @H_301_1@ 在我完全迁移到 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对象工作在单声道中的任何人都会受益.

总结

以上是内存溢出为你收集整理的将COM对象公开给在Wine / Linux中运行的应用程序全部内容,希望文章能够帮你解决将COM对象公开给在Wine / Linux中运行的应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1019490.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存