AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Einladen eines XML-Dokumentes über eine DLL
Thema durchsuchen
Ansicht
Themen-Optionen

Einladen eines XML-Dokumentes über eine DLL

Ein Thema von chris01 · begonnen am 2. Mai 2004 · letzter Beitrag vom 2. Mai 2004
Antwort Antwort
chris01

Registriert seit: 26. Apr 2003
Ort: Ahlen
163 Beiträge
 
Delphi 7 Personal
 
#1

Einladen eines XML-Dokumentes über eine DLL

  Alt 2. Mai 2004, 01:00
Hi Leute,

wie der Titel des Themas schon verrät, möchte ich gerne über eine DLL ein XML-Dokument auslesen und ausgeben.

Doch wenn ich das Xml-Dokument erstellen möchte, nach diesem Code hier:

XMLDocument:=TXMLDocument.Create(nil); kommt leider immer eine Fehlermeldung mit:
CoIntialize wurde nicht aufgerufen.

Ich habe auch schon aus probiert, es ohne DLL zu machen, also alles im Hauptcode und es klappt super

Die Units: XMLIntf, XMLDoc.

Gruß
Christopher
Christopher H.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: Einladen eines XML-Dokumentes über eine DLL

  Alt 2. Mai 2004, 08:39
Ohne dich kritisieren zu wollen, aber die Lösung hast du doch schon selbst genannt:
Zitat von chris01:
kommt leider immer eine Fehlermeldung mit:
CoIntialize wurde nicht aufgerufen.
Soll heißen: Du musst "CoInitialize" und "CoUninitialize" (ActiveX-Unit) aufrufen. Ich habe das vor kurzem auch hier schon mal erklärt.
  Mit Zitat antworten Zitat
chris01

Registriert seit: 26. Apr 2003
Ort: Ahlen
163 Beiträge
 
Delphi 7 Personal
 
#3

Re: Einladen eines XML-Dokumentes über eine DLL

  Alt 2. Mai 2004, 12:27
Danke! Das funktioniert jetzt, doch kommt immer noch ein Fehler, wenn ich die Dll laden möchte. Eine Exception vom Typ EPrivilege.

Hier ist der Quelltext der Funktion:
Delphi-Quellcode:
function ExtractXML : string; export;
var i:integer;
    hilfe:IXMLNodeList;
    hilfen:IXMLNode;

begin
    CoInitialize(nil);

    XMLDocument := TXMLDocument.Create(nil);

    try

    if not FileExists(XMLFileName) then
    begin
      Beep;
      MessageDlg(rsNoXML, mtError, [mbOk], 0);
      Exit;
    end;

    XMLDocument.LoadFromFile(XMLFileName);
    hilfe := XMLDocument.DocumentElement.ChildNodes;

    for i:=0 to Hilfe.Count-1 do
    begin
       Hilfen := Hilfe.Nodes[i];
       ShowMessage(Hilfen.ChildValues['id'] +' | '+Hilfen.ChildValues['func']);
    end;

  finally
     XMLDocument.Free;
  end;
  CoUninitialize;
end;
Vielleicht kann mir einer Sagen, woran es liegt

Gruß
Christopher

P.S. Wie auch schoon oben gesagt, der Fehler kommt nur, wenn ich die Funktion in eine Dll tue und ausführen möchte.
Christopher H.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 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