2011-02-02 14 views
4

Linuxに完全に移行するには、あと1つのWindowsアプリケーションしか私を悩ませていません。これは、ワインを使って実行している株価チャートアプリケーションです(Linuxにはまともなものが見つかりませんでした)。Wine/Linuxで動作するアプリケーションにCOMオブジェクトを公開する

このアプリケーションには独自の言語があり、COMコンポーネントからオブジェクトを作成して外部機能を実装することができます。 Windowsでは、Monoを使用してチャート作成ソフトウェアとやり取りできる特定の機能を公開するプログラムを作成しました。

例:

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

質問:どのように私はワインで実行されているチャートソフトにMonoランタイムの下のLinux環境で実行されている「て、myApp」のComVisibleコンポーネントを公開するだろうか?

答えて

1

残念ながら、モノとワインは特別な統合がないため、MonoでWineでホストされたコードを直接呼び出すことはできません。

1つのオプションは、Microsoftの.NET 2.0 framework in Wineを使用することです。最大2.0までサポートされています。これは、.NETライセンスに違反している場合とそうでない場合があります。

もう一つの選択肢は、ワインで動作するwinelibを使用してカスタムプロキシを作成することですが、モノプログラムのコマンド用のunixドメインソケットを待ち受けます。

もう一つの選択肢は、モノをDCOM経由でワインと話すために必要な(かなり複雑な)コードを書くことです。これはむしろ難しいですが、COMオブジェクトをモノで動かすことを望む人には恩恵を受けるでしょう。

0

Windows版のMonoをWineの下にインストールして、そこにコードを実行できるはずです。

関連する問題