Здравствуйте, 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).