![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Добрый день.
Возможно подобные темы звучали (я прошел по поиску, но мало нашел подходящего). Вообщем сразу к сути, имеем следующее: Код:
![]() Код:
1. Собирается проект успешно 2. Запуск происходит без проблем 3. Вызов данной функции происходит безболезненно 4. Результата ноль Попытался из под VS (кода самой .dll) приатачиться к exe и из exe попытаться запустить .dll (функцию), но в саму функцию в .dll управление так и не передалось. Почему IntPtr а не void* ? Ну попытался я void*, пишет нужно использовать только с unsafe, объявил, а тут пишет нужен фиксированные размер или что-то подобное. Может есть корректный способ объявить данную функцию ? |
![]() |
![]() |
![]() |
#2 |
Регистрация: 19.03.2009
Сообщений: 8
|
![]()
ммм... можешь в С коде сделать System::IntPtr ptr и создать его из void*...
Точно не помню как я это делал но писал враппер на длл, просто сделал его мэнэджед кодом создавал IntPtr и возвращал его... Тут походу проблема в несовместимости... когда ты возвращаешь blenddata* ты возвращаешь указатель... А объявил в c# как IntPtr... В с# он хранит эит указатели, но доступ к ним по функции Handle() или ToHandle() или ToPointer() .. Ну там на месте разберешься ) |
![]() |
![]() |
![]() |
#3 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Спасибо за отклик. Примерно 20 миг. после создания темы разобрался
![]() |
![]() |
![]() |