![]() |
#9 |
Moderator
|
Объясняю самые основы automation.
Некий программист пишет dll'ку, например super.dll. Дает клиенту. Клиент запускает вручную regsvr32 super.dll, либо это вместо него делает инсталлятор (автоматически). При этом в реестр записываются ProgId, ClassId и TypeLib ProgID - это название automation server ClassId - гуид COM-класа TypeLib - путь к файлу, который отвечает за COM-объект. В данном случае это путь к super.dll в случае Excel 10 и Excel 11 - ClassId один и тот же, а ProgId и TypeLib разные. Теперь касательно двух вопросов - почему навижен что-то распознает, а что-то нет и как определить, что это за Unknown Automation Server такой? Вопрос 1. Навижн распознает только то, что прописано в реестре. Если в реестре записи нет (то бишь компонента не зарегестрирована), то навижн ничего распознать естессно не может. Вопрос 2. Найти в реестре строчку, с таким же гуидом, как и у объекта automation. Посмотреть TypeLib. Выяснить что это за dll и к какой программе она относится. |
|
|
За это сообщение автора поблагодарили: mira (1). |