|
|
|
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, 11:15 |
|
||
|
BSTR + BSTR
|
|||
|---|---|---|---|
|
#18+
во-первых, вы копируете обе строки в начало новой: Код: plaintext 1. 2. во-вторых тип BSTR отличается от типа OLECHAR * тем, что строка может содержать в себе нулевые символы, а длина сохраняется перед началом. например если создать строку так: Код: plaintext 1. то ((DWORD *)(str1))[-1] станет равным 8. Так что для правильной работы с BSTR лучше использовать SysAllocString, SysAllcoStringLen и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2006, 12:03 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34083451&tid=2030181]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 460ms |

| 0 / 0 |
