Re[3]: IRequestDictionary (BSTR as IDispatch)
От: Lexey Россия  
Дата: 26.09.01 18:26
Оценка:
Здравствуйте Аноним, вы писали:

А>Здравствуйте Lexey, вы писали:


L>>А откуда ты Dictionary получаешь? Если от ASPшных объектов, то так все и должно быть. Там каждый Dictionary содержит в себе не строки, а Dictionary (т.к. в Request.Form("bla-bla") и т.п. может быть более одного значения.

L>>Вот эти словари уже возвращают нормальные строки (если ты конвертишь словарь к строке, то ты просто получаешь дефолтовое значение).

А>Я догадался что можно конвертить а для чего так было сделано что явно строковое значение возвращаеться как VT_DISPATCH а не как VT_BSTR какой потаенный смысл во всем этом


А>наверно можно получить из этого dispatch еще какой то полезные интерфейс ;-)


Невнимательно читаешь. Я же тебе написал, что любой RequestDictionary в ASP — двухуровневый.
Т.е. первый запрос тебе возвращает IDispatch нового RequestDictionary, в котором содержаться собственно строки. Через этот IDispatch ты можешь попросить IRequestDictionary этого самого Dictionary второго уровня. Когда ты конвертируешь этот диспатч в строку, ты просто неявно вызываешь
IRequestDictionary::get_Item(), который в этом случае возвращает все значения из словаря, разделенные ",".

Теперь более понятно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.