Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将COM对象公开给在Wine / Linux中运行的应用程序大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

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

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

例:

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

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

解决方法

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

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

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

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

@H_674_48@

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。