Иллюстрированный самоучитель по VB.NET




Принципы работы СОМ - часть 2


Давайте посмотрим, что происходит на уровне реестра при регистрации компонентов СОМ.

  • Разработчик создает для компонента глобально-уникальный идентификатор (GUID).

  • Разработчик создает для компонента программный идентификатор (ProgID).

  • Утилита регистрации связывает ProgID компонента с GUID, создавая соответствующую запись в реестре.

  • Утилита регистрации заносит полный путь к двоичному файлу компонента в реестр и связывает его с GUID компонента.

  • Утилита регистрации также может сохранить в реестре дополнительные сведения о компоненте — например, тип потоковой модели.

    При попытке использования компонента происходит следующее:

  • Разработчик приложения создает экземпляр компонента, используя ProgID.

  • СОМ ищет в реестре GUID компонента.

  • СОМ находит двоичный файл компонента.

  • СОМ создает экземпляр компонента.

    Несмотря на большое количество выполняемых операций, главные проблемы возникают при копировании в систему нового файла с компонентом, не сопровождающимся обновлением реестра, и при смене GUID. Приложение, которое раньше благополучно работало, работать перестает. Это связано с тем, что в механизме установки СОМ не предусмотрено нормальных средств для контроля версии компонентов.




    Содержание  Назад  Вперед