Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi D7 XML Anfänger Problem (https://www.delphipraxis.net/56365-d7-xml-anfaenger-problem.html)

RuX 4. Nov 2005 16:06


D7 XML Anfänger Problem
 
Hi, Bin ein XML Anfänger in Kombination mit D7. Mein Problem: Ich krieg bei folgendem Vorgang immer den Fehler "Schnittstelle nicht unterstützt"

Delphi-Quellcode:
    Document := TXMLDocument.Create(Application);
    Document.LoadFromFile(FileName);
    DomEle := Document.DocumentElement as IXMLDOMElement;
Der Fehler tritt bei
Delphi-Quellcode:
DomEle := Document.DocumentElement as IXMLDOMElement;
auf.

Hab mit D8 schon mit XML gearbeitet, allerdings funktionierts mit D7 etwas anders. Wie man das mit dem IXMLDOMElement regelt hab ich mir aus nem anderen Thread geklaut, aber irgendwas stimmt noch nicht :)
Konkret brauch ich das IXMLDOMElement um XPath zu verwenden, netterweise ging das bei D8 schon direkt mit der XMLDocument Klasse.

marabu 4. Nov 2005 16:20

Re: D7 XML Anfänger Problem
 
Hallo.

Du musst den aktuellen Parser importieren, damit du Zugriff auf die IXMLDOM-Schnittstellen erhältst:

Code:
tlibimp -Fe- %windir%\system32\msxml4.dll
Grüße vom marabu

RuX 4. Nov 2005 17:02

Re: D7 XML Anfänger Problem
 
danke für dir rasche antwort.

hm irgendwas klappt leider noch nicht.
ich hab wie du geschrieben hast tlibimp ausgeführt und dann die erzeugten dateien bei mir ins lib verzeichnis geschoben. in der uses dann die msxml gegen die msxml2 ausgetauscht. muss man noch was machen?

seh ich mir montag an, schönes wochenende!

marabu 4. Nov 2005 17:48

Re: D7 XML Anfänger Problem
 
Zitat:

Zitat von RuX
hm irgendwas klappt leider noch nicht.

Was genau nicht klappt magst du aber nicht sagen - oder doch?

Zitat:

Zitat von RuX
ich hab wie du geschrieben hast tlibimp ausgeführt und dann die erzeugten dateien bei mir ins lib verzeichnis geschoben.

Hast du sie auch kompiliert?

Auch dir ein schönes Wochenende.

marabu

RuX 7. Nov 2005 08:15

Re: D7 XML Anfänger Problem
 
ja doch es erscheint immernoch der gleiche fehler. programm lässt sich problemlos starten/compilieren.
compiliert hat er die msxml2 für mich sobald ich sie in die uses eingebunden hatte. hab insofern jetzt die pas, dcr und dcu vorliegen.

sonst passt die definition aber oder?

Delphi-Quellcode:
    Document: TXMLDocument;
    DomEle: IXMLDOMElement;
e: das hinzufügen der msxml2.pas zu einem installierten/neuen package, hat leider auch nichts weiter bewirkt, außer das ich jetzt ziemlich viele neue visuelle komponenten in der toolbar drin hab :)

marabu 7. Nov 2005 11:15

Re: D7 XML Anfänger Problem
 
Du arbeitest entweder mit den XML-Interfaces oder mit den XMLDOM-Interfaces!

Delphi-Quellcode:
uses
  MSXML2;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  doc: IXMLDOMDocument;
  n: IXMLDOMNode;
  nl: IXMLDOMNodeList;
  i: integer;
begin
  with OpenDialog do
  if Execute then
  begin
    doc := CoDomDocument.Create;
    if doc.load(FileName) then
    begin;
      nl := doc.documentElement.selectNodes('//*');
      ListBox.Items.Clear;
      for i := 0 to Pred(nl.length) do
      begin
        n := nl.item[i];
        ListBox.Items.Add(n.nodeName);
      end;
    end else
      ShowMessage(doc.parseError.reason);
    doc := nil;
  end;
end;
Grüße vom marabu

RuX 7. Nov 2005 13:53

Re: D7 XML Anfänger Problem
 
OK Super danke, dann lags an der falschen deklaration.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz