Вниз
Скачать: CL | DM;

RE(2) Разное поведение Variant в D5 и D6   Найти похожие ветки 

 
Balu ©   (2002-12-10 11:43) [0]

При работе с компонентом XML (microsoft.xmldom) на D5 код работал (правильно) (т.е возвращал Empty) :
if VarIsEmpty(obj_xml.selectSingleNode(" Тут чего попало")) then // т.е узла нет (мне это и надо :-) )

В D6 этот код стал возвращать не Empty и не NULL (в трассировщике $00000000) и соответственно в IF не заходит.

Проблема победилась через импортирование библиотеки XML и приведение типов:
if (IDispatch(obj_xml) AS IXMLDOMDocument).selectSingleNode(" Тут чего попало")) = nil then // т.е узла нет (мне это и надо :-) )

Не подскажет ли многоуважаемый ALL, в чем тут проблема??


 
VaS ©   (2002-12-10 11:54) [1]

Это лишнее IDispatch(obj_xml) AS IXMLDOMDocument.
Запрашивай сразу IXMLDOMDocument после CreateComObject() без всяких CreateOleObject().


 
Digitman ©   (2002-12-10 11:55) [2]

>не Empty и не NULL

так а что конкретно возвращает-то ?

ну ты прочитай значение TVarData(MyVariantTypeVariable).VType в какую-нибудь врем.переменную да и проанализируй его ! Исх.код Variant-структуры ыедь открыт) ... Если не varEmpty и не varNull, то - что тогда ? Подозреваю, что varDispatch или varPointer



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
3-61419
Shved
2002-11-29 13:47
2002.12.19
В чем беда?


14-61799
3asys
2002-11-25 20:15
2002.12.19
Как работать с архиватором из Delphi?


4-61888
mba
2002-11-06 09:51
2002.12.19
Сообщения TEdit


3-61467
smok_er
2002-11-27 12:28
2002.12.19
определение длины поля запроса


3-61438
pavelsinicinV
2002-11-29 22:01
2002.12.19
InterBase




   Наверх