crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в C# dll и Qt
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Гость Дата 17.10.2010, 21:52
  Скорми скомпиленную дллку рефлектору ...и сохрани как с++ код.
MJIbIu Дата 8.7.2010, 15:16
  Почесал репу дед и сказал не майтесь ребята
Мб как то и можно прикрутить C# dll к Qt но времени и усилий того не стоит.
Решили просто использовать mono. У нас проект и так клиент - сервер так, что еще один клиент будет где то висеть и гнать данные и пущай что он не на Qt
DIMEDROLL Дата 7.7.2010, 14:30
 
Цитата(MJIbIu @ 7.7.2010, 14:20) *
что то странное :blink:
нету ни экспортируемых и импортируемых функций

тоже читал отверг его с начало теперь по возился с ним разобрал в IL изменил а собрать обратно не смог =)

да нет тут ничего странного, C# создает не обычные DLL, а те которые можно использовать из управляемого(managed) кода... погуглив, быстро найдешь

у тебя две дороги, либо разобраться как IL компилить либо разобраться как делать через COM обьекты, причем второе - более правильно
MJIbIu Дата 7.7.2010, 14:20
 
Цитата(DIMEDROLL @ 7.7.2010, 13:08) *
еще набрел на статью

тоже читал отверг его с начало теперь по возился с ним разобрал в IL изменил а собрать обратно не смог =)
Litkevich Yuriy Дата 7.7.2010, 14:15
  никогда с таким не сталкивался
MJIbIu Дата 7.7.2010, 13:52
 
Цитата(Litkevich Yuriy @ 7.7.2010, 12:57) *
как я понимаю в dll'ках всё должно быть одинаково, имена функций и т.п.
открой эту dll'ку в Dependency Wallker, посмотри как там выглядят имена

что то странное :blink:
нету ни экспортируемых и импортируемых функций
DIMEDROLL Дата 7.7.2010, 12:08
  MJIbIu,
тут говорится:
Цитата
Давайте все таки определимся, чего вы хотите?
Импортировать библиотеку native-кода, написанную на C, или создать собственную библиотеку на C#, чтобы использовать ее функционал в unmanaged-коде?
Первое называется PInvoke и элементарно реализуется, второе - невозможно без инициирования CLR в unmanaged-процессе, исключение лишь составляют COM-объекты (для них ОС сама разворачивает CLR).

тоесть это невозможно
upd: разве что использовать COM

еще набрел на статью
но тут автор скорее всего перепутал С++ с С++ CLI(или как там его, тот что managed C++), еще почитаю статью...
upd: дочитал, автор утверждает что это unmanaged С++(Blitz в оригинальной статье)
по идее должно работать
попробуй сделать как там написано и отпишись получилось ли
исходный код лучше брать с англ. варианта статьи
Litkevich Yuriy Дата 7.7.2010, 11:57
  как я понимаю в dll'ках всё должно быть одинаково, имена функций и т.п.
открой эту dll'ку в Dependency Wallker, посмотри как там выглядят имена
MJIbIu Дата 7.7.2010, 10:17
 
Цитата(Litkevich Yuriy @ 2.7.2010, 17:25) *
Цитата(MJIbIu @ 2.7.2010, 18:29) *
Возник вопрос как прикрутить dll к проекту написанному на Qt.
также как и прикручиваются другие dll. только не забыть таскать со своим проектом среды выполнения для Сишарп и Явы (.Net Framework и JRE, соответсвенно)


CODE
QLibrary lib("D:\\MyPro\\MercuryAPI.dll");
if(!lib.load())
{
qDebug() << "\n Library is not loaded \n";
return false;
}
else
qDebug() << "\n Library is loaded \n";

все пучком подключается. Дальше я так понял надо делать lib.resolve() а как я не знаю. http://forum.sources.ru/index.php?showtopic=150368&hl= - мне не совсем подходит т.к. dll написано на C#. Переписывать ее в С++ себе дороже хоть и есть исходники.

Написание и использование DLL в различных средах - интересно но опять рядом но не то
MoPDoBoPoT Дата 6.7.2010, 11:21
  Вот ссылка в помощь: Написание и использование DLL в различных средах
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 19.4.2021, 12:32