crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 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 Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 19:41