|
|
|
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=34082950&tid=2030181]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
142ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 426ms |

| 0 / 0 |
