Перейти к содержанию
    

Visual Studio 2008 работа в C# с С++ сборкой

Переписываю интерфейсную программу устройства (свзяь через RS-232) под .NET

В С++ сборке описан компонент, построенный на общих с устройством кодах протокола обмена (написанных на Си ).

Кроме этого протокола существует ещё ряд общих интерфейсных алгоритмов. Поэтому крайне желательно их не переписывать.

Так вот...

При разборе принятых байтов процессинг протокола, когда получит соответствующий пакет вызывает присвоенный данному типа пакета обработчик (через указатель на обработчик). В данном обработчике происходит передача параметров пришедшего сообщения и вызов события компонента.

 

При прохождении сообщения событие вызывается от лица null, то есть в Sender попадает null. При дебаге в этот момент this == null... Как это можно обойти\исправить, в чём искать затык?

 

An unhandled exception of type 'System.NullReferenceException' occurred in comm_dll.dll

Additional information: В экземпляре объекта не задана ссылка на объект.

 

В .net совсем недавно, можно сказать почти никак

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скидывай код, и пиши где затык.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше конечно скинуть код, но почти 100% что обращение идет к несозданному объекту. Тупо забыли написать new TTTT(......)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...