Re[11]: #import
От: Vi2 Удмуртия http://www.adem.ru
Дата: 29.03.06 07:04
Оценка:
Здравствуйте, Buran, Вы писали:

B>В реестре вроде написано что ProgID "ServerB.MathB.1"

B>Тем не менее, вот такой код приводит к ошибке Invalid Class String
B>#import "..\ServerB\Debug\ServerB.tlb" no_namespace
B>...
B>      IMathBPtr obj(L"ServerBLib.MathB.1");

B>Можно ли всё-таки как-то составить эту class string.

Так ты ее сам уже написал — "В реестре вроде написано что ProgID "ServerB.MathB.1"". Вот и нужно указывать "ServerB.MathB.1".

Дело в том, что эту строку (т.е. ProgID) невозможно получить откуда бы то ни было программным (автоматизированным) способом (разве что перебирав Реестр). ProgID не хранится в библиотеке типов и формируется приложением (или клиентами) самостоятельно. Например, один объект может иметь несколько разных ProgID-ов, дополнительно к версионнозависимым ProgID-ам ("ServerB.MathB" и "ServerB.MathB.1", "ServerB.MathB.2" etc).
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.