Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Про передачу текстовых параметров в ATL


Автор: knave 6.3.2003, 23:49
Есть элемент управления ATL. У него есть текстовые свойства. При компиляции под Unicode значения этих свойств доступны из программ на VB, а из программ на С++ нет. И наоборот при нормальной компиляции значения свойств доступны из C++, а из VB нет.

Как передавать значения свойств что бы они были доступны и там и там, при одном виде компиляции (Unicode или обычная) confused.gif

Если делать элемент управления AxtiveX то таких проблем не возникает sad.gif

Автор: Fantasist 7.3.2003, 01:02
А что значит "недоступны"?

Автор: knave 7.3.2003, 08:00
Цитата(Fantasist @ 6.3.2003, 17:02)
А что значит "недоступны"?

Нечитается из него ничего, видимо из-за того что оно в юникоде или на оборот в обычной кодировке (в зависимости от того где использовать лбъект. В бейсике работает если в юникоде а в С++ если нет).

Собственно мой вопрос в том и заключается как из ATL объекта передавать значения текстовых свойств, что бы небыло никаких проблем при использовании их из программ на разных языках, так как это например при работе с AxtiveX элементами. AxtiveX ведь можно использовать и в VB и в С++ без перекомпиляций (проверено на практике).

Автор: TaTaP 8.3.2003, 01:51
Используй для текстовых свойств спец. тип - BSTR ( или его ATL-оболочку - класс CComBSTR ). Этот тип специально и был создан для устранения подобных противоречий. Вообще нужно однозначно работать в Unicode, и в C++ этот стандарт поддерживается. Лучше выложи кусок кода ( определения этих текстовых свойств ), люди тут грамотные - помогут...

Автор: Guest_Knave 8.3.2003, 13:47
Цитата(TaTaP @ 7.3.2003, 17:51)
Используй для текстовых свойств спец. тип - BSTR ( или его ATL-оболочку - класс CComBSTR ). Этот тип специально и был создан для устранения подобных противоречий. Вообще нужно однозначно работать в Unicode, и в C++ этот стандарт поддерживается. Лучше выложи кусок кода ( определения этих текстовых свойств ), люди тут грамотные - помогут...


Все, разобрался, посмотрел как AxtiveX организована эта передача. Спасибо за советы, действительно надо было все в юникодовых строках хранить, тогда от компиляции зависеть ничего не будет smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)