
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.10.2006, 11:15
|
|||
|---|---|---|---|
|
|||
BSTR + BSTR |
|||
|
#18+
Доброго времени суток. У меня проблема с соединением двух строк типа bstr делаю так... BSTR bstrSum(BSTR bstr1, BSTR bstr2) { OLECHAR *oleStr; oleStr = new OLECHAR[SysStringLen(bstr1)+SysStringLen(bstr2)]; wcscpy(oleStr, bstr1); wcscpy(oleStr, bstr2); SysReAllocString(&bstr1, (OLECHAR*)oleStr); return bstr1; } все хорошо, но когда параметр получается из lpTxtRange->get_htmlText( &html); то bstrSum возвращает только этот html... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.10.2006, 12:03
|
|||
|---|---|---|---|
|
|||
BSTR + BSTR |
|||
|
#18+
во-первых, вы копируете обе строки в начало новой: Код: plaintext 1. 2. во-вторых тип BSTR отличается от типа OLECHAR * тем, что строка может содержать в себе нулевые символы, а длина сохраняется перед началом. например если создать строку так: Код: plaintext 1. то ((DWORD *)(str1))[-1] станет равным 8. Так что для правильной работы с BSTR лучше использовать SysAllocString, SysAllcoStringLen и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&tablet=1&tid=2030181]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
148ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 449ms |

| 0 / 0 |
