mam problem z użyciem XPatha w D7 przy wykorzystaniu TXMLDocument - nie znalazłem tam metody w stylu selectNodes - jak w MSXML2_TLB. z MSXML2_TLB jest taki problem, że nie rozpoznaje funkcji. np. Jeżeli zrobię tak:
function Tfrm_Glowne.CheckParDomPersCount(Aid_pers: Integer): Integer;
var doc : IXMLDomDocument;
list : IXMLDomNodeList;
wyn : Integer;
begin
wyn:=-1;
if ParDomPers<>nil then begin
try
doc:=CoDOMDocument.Create;
doc.Load(ExtractFilePath(ParamStr(0))+par_dom_pers_FileName);
list:=doc.selectNodes('count(/par_dom_pers/personel[@id_pers="'+IntToStr(Aid_pers)+'"])');
wyn:=StrToInt(list.item[0].text);
finally
end;
end;
Result:=wyn;
end;
To wywala mi błąd:
Nieznana metoda -->count(/<--par_dom_pers/personel[@id_pers="2485"])'. Process stopped.
wyrażenie jest na pewno poprawne (zresztą tak banalne, że aż szkoda) i działa w XMLSpy i XPathBuilder. Nie potrafię go jednak uruchomic na D7. O czort tutaj chodzi.