AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Xml

Ein Thema von value is NULL · begonnen am 13. Sep 2010 · letzter Beitrag vom 21. Sep 2010
Antwort Antwort
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#1

AW: Xml

  Alt 13. Sep 2010, 12:20
so, bin jetzt glaub ich?! ein stück weiter:

Delphi-Quellcode:
uses
  SysUtils,
  xmldoc;

var
a : TXmlDocument;

begin
  try

          a := TXMLDocument.Create(nil);
          a.Active := True;
          a.LoadFromFile('C:\test.xml');

  except
          on e : exception do begin
          writeln(e.message);
          a.Destroy;
          halt(1);
          end;
  end;

end.
jetzt bekomme ich aber die Meldung: CoInitialize wurde nicht aufgerufen.

habe gelesen das ich das for das am anfang und am ende setzen muss. jedoch sagt er mir immer undeclared identifier...
Bin ich am richtigen weg oder am komplett falschen?

LG
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.377 Beiträge
 
Delphi 12 Athens
 
#2

AW: Xml

  Alt 13. Sep 2010, 12:36
Nja, SimpleXML ist halt ein bissl "älter", obwohl ich jetzt nicht wüßte, warum es mit dieser Datei nicht klarkommen sollte.
Wobei die 1 für micht in Zeile 2 Zeichen 8 liegt.

PS: Hier im Forum suchenCoInitialize wurde nicht aufgerufen

Und dann ruft man Destroy eigentlich nicht direkt auf, sondern nutzt Free.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#3

AW: Xml

  Alt 13. Sep 2010, 12:40
hm naja ich machs ja jetzt nicht mit SimpleXML sonder mit XMLDoc dh:

Delphi-Quellcode:
program test;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  xmldoc;

var
a : TXmlDocument;

begin
  try

          a := TXMLDocument.Create(nil);
          a.Active := True;
          a.LoadFromFile('C:\test.xml');

  except
          on e : exception do begin
          writeln(e.message);
          a.Free;
          halt(1);
          end;
  end;

end.
habe versucht das Coinitialize fast an jeder Stelle des codes zu platzieren, das will er aber niergends...
wo gehört das den hin?

LG
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#4

AW: Xml

  Alt 13. Sep 2010, 13:06
Versuch es einmal im Initialization-Abschnitt. Und Du gibst a nur im Falle einer Exception frei, das soll ja bestimmt nicht so, oder?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#5

AW: Xml

  Alt 13. Sep 2010, 13:18
hm da liegt ja momentan mein problem, habe sowas bis dato noch nie benötigt und jetzt steh ich ziemlich an.
ausserdem war das dann ja noch nicht alles, schließlich will ich mir ja noch den wert 123 von param auslesen...

kann mir jemand helfen?

Delphi-Quellcode:
program test;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  xmldoc,
  xmlintf;

var
a : TXmlDocument;

begin
  try
          a := TXMLDocument.Create(nil);
          a.Active := True;
          a.LoadFromFile('C:\test.xml');
  except
          on e : exception do begin
          writeln(e.message);
          halt(1);
          a.Free;
          end;
  end;

  a.Free;
end.
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#6

AW: Xml

  Alt 13. Sep 2010, 13:37
so... ich glaube ich komme meiner sache näher... habe jetzt ActiveX hinzugefügt und siehe das funkt!

Delphi-Quellcode:
program test;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  xmldoc,
  xmlintf,
  activex;

var
a : TXmlDocument;

begin
  try
          CoInitialize(nil);
          a := TXMLDocument.Create(nil);
          a.Active := True;
          a.LoadFromFile('C:\test.xml');
  except
          on e : exception do begin
          writeln(e.message);
          a.Free;
          halt(1);
          end;
  end;

  a.Free;
  CoUninitialize;
end.
jetzt muss ich mir nur noch den Wert auslesen, hat da jemand ein Beispiel für mich?
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#7

AW: Xml

  Alt 13. Sep 2010, 14:04
mit der XML Datei:
Code:
<config>
   <virtualdrive1>
      <maxsize>700</maxsize>
      <validfrom>YYYY-mm-dd hh:mm:ss.999</validfrom>
      <validto>YYYY-mm-dd hh:mm:ss.999</validto>
      <example>
          <ex1>example</ex1>
          <ex2>example</ex2>
      </example>
      <share>
      <shareuser>user</shareuser>
      <sharepw>sharepw</sharepw>
      <sharepath>sharepath</sharepath>
      </share>
   </virtualdrive1>
</config>
Delphi-Quellcode:
  SysUtils,
  ActiveX,
  XMLIntf,
  xmldoc;

var
  myConfig: IXMLDocument;
begin
  try
    CoInitialize(nil);
    myConfig := LoadXmlDocument('Config.xml');
    WriteLn(myConfig.DocumentElement.ChildNodes.First.ChildNodes.First.Text);
    ReadLn;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
  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 14:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz