![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
War_Chief |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 10.7.2007 Где: Украина,Киев Репутация: нет Всего: нет |
Доброго всем времени суток.
Проблемка в следующем: Есть ф-ция в библиотеке написаной на delphi
Вызывать нужно из C#, пробывал так:
Пишет вот такую ошибку: Error 1 Error emitting 'System.Runtime.InteropServices.MarshalAsAttribute' attribute -- 'Specified unmanaged type is only valid on fields. Помогите плиз.... |
||||
|
|||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
War_Chief, атрибут MarshalAs можно применять только к полям
-------------------- СУВ, Partizan. |
|||
|
||||
War_Chief |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 10.7.2007 Где: Украина,Киев Репутация: нет Всего: нет |
Хорошо, но вопрос остается, как вытащить ету ф-цию из Dll, что бы она вернула массив?
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
War_Chief, а попробуйте атрибут, содержащий MarshalAs убрать...
-------------------- СУВ, Partizan. |
|||
|
||||
War_Chief |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 10.7.2007 Где: Украина,Киев Репутация: нет Всего: нет |
Пробывал, тогда получается Exception : Cannot marshal 'return value': Invalid managed/unmanaged type combination.
Также были попытки получить через IntPtr
В итоге вот ето... Attempted to read or write protected memory. This is often an indication that other memory is corrupt. |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 5 Всего: 36 |
array of integer
что из себя представляет эта хрень? возможно какая-то сложная структура данных, про которую C# не в курсе делай "по нашему", по C++'ному ![]() в C# данные выковыриваешь через класс Marshal |
|||
|
||||
War_Chief |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 10.7.2007 Где: Украина,Киев Репутация: нет Всего: нет |
Да я б с радостью, я Delphi сам не люблю, но просто будет набор DLL написаных не мной, именно на Delphi, и некоторые методы будут возвращать массивы((((
Поэтому позарез нужно узнать как вытащить все это на C#
Насколько я помню из паскаля, ето тот же масив integer значений. Тоесть для шарпа ето должно выглядеть как int[]....
Не получится в методах используется именно array of.... Это сообщение отредактировал(а) War_Chief - 7.4.2009, 22:15 |
||||
|
|||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 5 Всего: 36 |
War_Chief,
Насколько я помню из паскаля, ето тот же масив integer значений. Тоесть для шарпа ето должно выглядеть как int[].... Неа. Это статические массивы (возможно) могут быть таким образом представлены array[1..10] of integer а запись array of integer означает динамический массив, и на самом деле ХЗ что там внутри. моё мнение - с этими "массивами" ты в <censored> (: |
|||
|
||||
War_Chief |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 10.7.2007 Где: Украина,Киев Репутация: нет Всего: нет |
моё мнение - с этими "массивами" ты в <censored> (:
похоже на то(((( |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |