4

Linux に完全に移行する前に、1 つの Windows アプリケーションだけが私を悩ませています。これは、私が Wine を使用して実行している株価チャート作成アプリケーションです (Linux 固有のまともなアプリケーションは見つかりませんでした)。

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

例:

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

質問:ComVisible Mono ランタイムの Linux 環境で実行されている「myApp」のコンポーネントを、Wine で実行されているチャート作成ソフトウェアに公開するにはどうすればよいですか?

4

2 に答える 2

1

残念ながら、mono と wine には特定の統合がないため、Mono で Wine がホストするコードを直接呼び出すことはできません。

1 つのオプションは、Microsoft の.NET 2.0 フレームワークを Wine で使用することです。2.0 までしかサポートされていません。これは、.NET ライセンスの違反である場合とそうでない場合があります。

別のオプションは、wine で実行されるwinelibを使用してカスタム プロキシを作成することですが、mono プログラムからのコマンドを unix ドメイン ソケットでリッスンします。

別のオプションは、mono が DCOM 経由で wine と通信するために必要な (かなり複雑な) コードを作成することです。これはかなり難しいことですが、COM オブジェクトを mono で動作させたいと考えているすべての人に利益をもたらします。

于 2011-02-02T04:46:15.060 に答える
0

Wineの下にWindowsバージョンのMonoをインストールし、その中でコードを実行できるはずです。

于 2011-02-25T09:11:21.343 に答える