none
Установка соединения с COM из C# RRS feed

  • Вопрос

  • Здравствуйте. Пишу на C#. Пытаюсь написать свой OPC-клиент. Ниже привел часть кода. который вызывает ошибку при попытке пуска приложения.

    private int ShowRegServers()
            {
                OpcServerList pServerList = new OpcServerList();
    
                //Идентификатор категории OPC DA 2.0
    
                Guid clsidcat = new Guid("{63D5F432-CFE4-11D1-B2C8-0060083BA1FB}");
                IOPCEnumGUID pIOPCEnumGuid;
               
    
                //9DD0B56C-AD9E-43EE-8305-487F3188BF7A
                pServerList.EnumClassesOfCategories(1, ref clsidcat, 0, ref clsidcat, out pIOPCEnumGuid);
    На последней строке кода возникает исключение:

    "Невозможно привести COM-объект типа "OpcEnumLib.OpcServerListClass" к интерфейсному типу "OpcEnumLib.IOPCServerList2". Операция завершилась со сбоем, поскольку вызов QueryInterface COM-компонента для интерфейса с IID "{9DD0B56C-AD9E-43EE-8305-487F3188BF7A}" возвратил следующую ошибку: Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"

    Подскажите пожалуйста, в чем тут дело? Уже просто нет вариантов... Буду очень благодарен за ответы!

    12 августа 2013 г. 6:54

Ответы

  • Доброго дня Алексей!

    Возможно, что из-за несовместимости в разрядности возникает данная проблема.

    Посмотрите нижеприведенные топики, где обсуждается подобная проблема, может подтолкнут к решению.


    Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение".

    • Помечено в качестве ответа lesha808xl 13 августа 2013 г. 7:45
    13 августа 2013 г. 6:22
    Модератор

Все ответы

  • Доброго дня Алексей!

    Возможно, что из-за несовместимости в разрядности возникает данная проблема.

    Посмотрите нижеприведенные топики, где обсуждается подобная проблема, может подтолкнут к решению.


    Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение".

    • Помечено в качестве ответа lesha808xl 13 августа 2013 г. 7:45
    13 августа 2013 г. 6:22
    Модератор
  • Спасибо, проблема была связана с ОС, либо с разрядностью ОС. Писал под Win8. Сейчас перешел на xp - проблема исчезла.
    13 августа 2013 г. 7:47