Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Импорт структуры из с++, массив указателей на структуру 
V
    Опции темы
agealex
Дата 3.10.2007, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 2.9.2007

Репутация: нет
Всего: нет



Есть в dll  на с++ 
Код

typedef struct tDescrRF
{
    ...
} tDescrRF        ;
#define DESCRNUM 5
typedef struct tMsgDevInfo
{
    
    UCHAR N               ;    // количество указателей в массиве
    tDescrRF *Descr[]  ; // вот ее нужно обьявить
} tMsgDevInfo             ;

 а в шарп я ее импортирую
Код

[StructLayout(LayoutKind.Explicit)]
        public struct tMsgDevInfo
        {

            [FieldOffset(0)]
             public byte N;       
            [FieldOffset(1)]
          unsafe  public  tDescrRF**  Descr;// тут я ее обьявляю -но это неправельно
        }


Вопрос в том как ее обьявить?
 smile 

Это сообщение отредактировал(а) agealex - 3.10.2007, 09:56
PM MAIL   Вверх
FREEDEV
Дата 3.10.2007, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 6.3.2007
Где: Украина->Одесс а

Репутация: 1
Всего: 3



Маршаллинг для массива понадобиться
 [MarshalAs(UnmanagedType.LPArray)] 
--------------------
Microsoft Windows Visla ©
PM MAIL   Вверх
agealex
Дата 4.10.2007, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 2.9.2007

Репутация: нет
Всего: нет



Спасибо уже нашел только подошел
[MarshalAs(UnmanagedType.ByValArray)]  
 и только с параметром 
  [StructLayout(LayoutKind.Sequential)]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0597 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.