|
|
|
BSTR в COM
|
|||
|---|---|---|---|
|
#18+
Привет! В COM принято строки передавать как BSTR (WHCAR *). Кто-нибудь знает, как принято передавать константные строки? (т.е. тип const WCHAR*, известный IDL-у) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 19:47 |
|
||
|
BSTR в COM
|
|||
|---|---|---|---|
|
#18+
Всмусле ? еслия понял то можно так BSTR str = L"TEST"; commethod(str); или WideString wstr = "TEST" commethod(wstr); ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 10:39 |
|
||
|
BSTR в COM
|
|||
|---|---|---|---|
|
#18+
Не ну вот когда мы реализуем функции, принимающие строки, то мы объявляем их как const char*, чтобы не испортить строчку. Я пока в COM'е нашел два стандартных типа BSTR и LPBSTR. Это принятый стандарт, его понимают VB и т.д. и у себя показывают как string. А как же быть с гарантией того, что строка не будет испорчена внутри commethod'а? Т.е. есть ли в COM аналог LPCSTR? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 19:40 |
|
||
|
BSTR в COM
|
|||
|---|---|---|---|
|
#18+
Ну у меня проблем пока не было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2004, 08:06 |
|
||
|
BSTR в COM
|
|||
|---|---|---|---|
|
#18+
мне кажется,что при передаче BSTR подразумевается, что передается константа. Изменение строки "напрямую" не используется(имхо).. Если подразумевается что строка может изменится в методе - надо передавать параметр "по ссылке" ([out]LPBSTR) и возвращать как бы новую строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2004, 19:17 |
|
||
|
BSTR в COM
|
|||
|---|---|---|---|
|
#18+
Это так. Но я прикололся: dim s as string s="hello" и передаю эту строчку в com method как входной параметр, внутри которого я изменяю эту строчку на hallo, например. И после вызова метода моя строчка изменена - разве это хорошо?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:08 |
|
||
|
BSTR в COM
|
|||
|---|---|---|---|
|
#18+
плохо..что же делать? а! - придумал! не меняй!!? :) - нельзя и точка. тем паче если вдруг кто через L"" параметр определит - AV сразу выскочит.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 15:00 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32549367&tid=2034833]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 377ms |

| 0 / 0 |
