![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| CYBERDREAM |
|
||||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
Приветсвую всех.
Столкнулся со следующей проблемой. Переписываю код с плюсов на шарп, и у одной функции возвращаемый параметр является указателем на структуру, как быть в случае шарпа?
вот что получил на шарпе:
как правильно объявить функцию? -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
||||
|
|||||
| 0000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.7.2006 Где: Нижний Новгород Репутация: 2 Всего: 5 |
так..сначала написал неподумавши - не скомпилит =)
надо приписать атрибут [MarshalAs(UnmanagedType.LPStruct)] щас... вот описание если что: http://msdn2.microsoft.com/en-us/library/s...anagedtype.aspx Добавлено через 9 минут и 3 секунды попробуй так:
Это сообщение отредактировал(а) 0000 - 15.11.2007, 19:15 |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
Ошибочка в итоге абсолютно та же, хотя по идее должно именно так работать,
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 8 Всего: 40 |
CYBERDREAM, у тебя в примере написано public struct READER{};
в коде так же? -------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
да, а в чем загвоздка то? в том, что стркутура пустая? на плюсах она так и представляется как и описано выше? или нужно иначе?
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 8 Всего: 40 |
в структуре надо прописать ее поля. Например, COLORREF для того, чтобы принять его из unmanaged объявляется так
в принципе, методы можно не объявлять (первый вариант). Достаточно объявить в структуре все поля в таком же порядке и соответствующих типов, как в неуправляемом варианте (если структура содержит массивы там немного больше геморроя с их объявлением). И не забыть атрибут [StructLayout(LayoutKind.Sequential)] можешь посмотреть здесь много примеров взаимодействия с unmanaged кодом : PInvoke.net кстате COLORREF именно оттуда Это сообщение отредактировал(а) 1stain - 16.11.2007, 09:26 -------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
Ок, если должны быть поля (я и сам такого мнения), то почему на плюсах их нету
или я что-то не улавливаю Это сообщение отредактировал(а) CYBERDREAM - 16.11.2007, 09:58 -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 8 Всего: 40 |
честно сказать, я вообще в плюсах (т.е. в mapi.h) не нашел определения структуры READER. Насколько я понял, это какая-то сторонняя библиотека? Если есть исходники, то ты смотрел заголовочные файлы?
-------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| CYBERDREAM |
|
||||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
вот что в mapi_control.h находится:
по документации собственно вот: This file “mapi_control.h” defines a generic handle type for established connections between the application and the reader as follows.
Это сообщение отредактировал(а) CYBERDREAM - 16.11.2007, 10:49 -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
||||
|
|||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
Работающий вариант:
Спасибо большое 0000 и 1stain за помощь!!! -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |