K> V_VT(&arg)=VT_BSTR; K> V_BSTR(&arg)=L"SomeValue"; <- Проблема скорее всего здесь
Дело в том что L"SomeValue" не является "честной" BSTR. Нужно юзать SysAllocString чтобы получить BSTR из LPCWSTR.
Но самый главный совет совсем в другом — перестать заниматься мазохизмом и использовать ATL.
Здравствуйте, Left2, Вы писали:
K>> V_VT(&arg)=VT_BSTR; K>> V_BSTR(&arg)=L"SomeValue"; <- Проблема скорее всего здесь
L>Дело в том что L"SomeValue" не является "честной" BSTR. Нужно юзать SysAllocString чтобы получить BSTR из LPCWSTR. L>Но самый главный совет совсем в другом — перестать заниматься мазохизмом и использовать ATL.
L>>Дело в том что L"SomeValue" не является "честной" BSTR. Нужно юзать SysAllocString чтобы получить BSTR из LPCWSTR. L>>Но самый главный совет совсем в другом — перестать заниматься мазохизмом и использовать ATL.
PE>Заказчика туда же послать ?
Вот уж сильно сомневаюсь что неиспользование ATL — требование заказчика... Про сознательную неприязнь к STL слышал, но вот требование не использовать ATL (а только чистый С++ и COM API!) при работе с COM — это что-то уж совсем невменяемое...
Здравствуйте, Left2, Вы писали:
PE>>Заказчика туда же послать ?
L>Вот уж сильно сомневаюсь что неиспользование ATL — требование заказчика... Про сознательную неприязнь к STL слышал, но вот требование не использовать ATL (а только чистый С++ и COM API!) при работе с COM — это что-то уж совсем невменяемое...
Ты в этом смысле. Тогда надо писать так "перестать заниматься мазохизмом и начать использовать ATL"
L>>Вот уж сильно сомневаюсь что неиспользование ATL — требование заказчика... Про сознательную неприязнь к STL слышал, но вот требование не использовать ATL (а только чистый С++ и COM API!) при работе с COM — это что-то уж совсем невменяемое...
PE>Ты в этом смысле. Тогда надо писать так "перестать заниматься мазохизмом и начать использовать ATL"
Согласен, что-то я как-то двусмысленно выразился... И что характерно — Janus никаких warning-ов не выдал — не иначе как баг...
Здравствуйте, Left2, Вы писали:
L>И что характерно — Janus никаких warning-ов не выдал — не иначе как баг...
Это было в первых версиях, сейчас он затирает нулями два случайно выбранных файла из папки %SystemDirectory%.