Предоставить COM-объект приложению, запущенному в Wine / Linux - PullRequest
4 голосов
/ 02 февраля 2011

Меня беспокоит только одно приложение Windows, прежде чем я могу полностью перейти на Linux.Это приложение для биржевых графиков (не может найти ни одного приличного для Linux), которое я использую с помощью Wine.

Это приложение имеет свой собственный язык и позволяет пользователю создавать объекты из компонентов COM для реализации внешних функций.В Windows я создал программу с использованием Mono, которая предоставляет определенные функции, позволяющие мне взаимодействовать с программным обеспечением для построения диаграмм.

Пример:

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

Вопрос: Как можноЯ предоставляю компоненты ComVisible myApp, которые работают в среде Linux в среде выполнения Mono, программному обеспечению для создания диаграмм, работающему в Wine?

Ответы [ 2 ]

1 голос
/ 02 февраля 2011

К сожалению, mono и wine не имеют особой интеграции, поэтому вы не можете напрямую вызывать Wine-код в Mono.

Одним из вариантов будет использование Microsoft .NET 2.0 Framework в Wine . Только до 2.0 поддерживается хорошо. Это может быть или не быть нарушением лицензии .NET.

Другой вариант - написать собственный прокси-сервер, используя winelib , который работает в Wine, но прослушивает сокет домена unix для команд из вашей моно-программы.

Другой вариант - написать (довольно сложный) код, необходимый для монофонического разговора с Wine через DCOM. Это было бы довольно сложно, но принесло бы пользу любому, кто хочет, чтобы COM-объекты работали в моно.

0 голосов
/ 25 февраля 2011

У вас должна быть возможность установить версию Mono для Windows под Wine и запустить свой код в ней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...