| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Про передачу текстовых параметров в ATL |
| Автор: knave 6.3.2003, 23:49 |
| Есть элемент управления ATL. У него есть текстовые свойства. При компиляции под Unicode значения этих свойств доступны из программ на VB, а из программ на С++ нет. И наоборот при нормальной компиляции значения свойств доступны из C++, а из VB нет. Как передавать значения свойств что бы они были доступны и там и там, при одном виде компиляции (Unicode или обычная) Если делать элемент управления AxtiveX то таких проблем не возникает |
| Автор: Fantasist 7.3.2003, 01:02 |
| А что значит "недоступны"? |
| Автор: knave 7.3.2003, 08:00 | ||
Нечитается из него ничего, видимо из-за того что оно в юникоде или на оборот в обычной кодировке (в зависимости от того где использовать лбъект. В бейсике работает если в юникоде а в С++ если нет). Собственно мой вопрос в том и заключается как из ATL объекта передавать значения текстовых свойств, что бы небыло никаких проблем при использовании их из программ на разных языках, так как это например при работе с AxtiveX элементами. AxtiveX ведь можно использовать и в VB и в С++ без перекомпиляций (проверено на практике). |
| Автор: TaTaP 8.3.2003, 01:51 |
| Используй для текстовых свойств спец. тип - BSTR ( или его ATL-оболочку - класс CComBSTR ). Этот тип специально и был создан для устранения подобных противоречий. Вообще нужно однозначно работать в Unicode, и в C++ этот стандарт поддерживается. Лучше выложи кусок кода ( определения этих текстовых свойств ), люди тут грамотные - помогут... |
| Автор: Guest_Knave 8.3.2003, 13:47 | ||
Все, разобрался, посмотрел как AxtiveX организована эта передача. Спасибо за советы, действительно надо было все в юникодовых строках хранить, тогда от компиляции зависеть ничего не будет |