Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi app.config unter Win32 lesen (https://www.delphipraxis.net/93325-app-config-unter-win32-lesen.html)

Jelly 4. Jun 2007 13:12


app.config unter Win32 lesen
 
Ich möchte ein web.config File aus der asp.net Welt in einem Win32 Programm nutzen, um einige Parameter auszulesen. Dazu nutze ich folgenden Code:

Delphi-Quellcode:
var
  Xml : TXMLDocument ;
  Configuration : IXMLNode ;
  AppSettings : IXMLNode ;
  fn : string ;
begin
     inherited Create ;


     Xml := TXMLDocument.Create (nil);
     Xml.LoadFromFile(ConfigFilename); // ConfigFile = 'f:\opc\web.config'
     Xml.Active := true ;
     Configuration := Xml.DocumentElement.ChildNodes['configuration'] ;
     AppSettings := Configuration.ChildNodes['appSettings'] ;
     ...
Nur leider fliegt mir eine Access violation um die Ohren, und zwar in der Zeile
Delphi-Quellcode:
Configuration := Xml.DocumentElement.ChildNodes['configuration'] ;
Die abgespeckte Version von web.config sieht so aus:
XML-Code:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<appSettings>
      
      
                  <add key="ProjectName" value="Test" />

      <add key="Database.Name" value="xxx" />
      <add key="Database.Servername" value="xxx" />
      <add key="Database.Login" value="xxx/>
      <add key="Database.Password" value="xxx" />
      <add key="Database.NTAuthentification" value="0" />

      <add key="OPC.Computername" value="xxx" />
      <add key="OPC.OPCServername" value="xxx" />
      <add key="OPC.UrlWebservice" value="xxx" />
      <add key="OPC.UpdateRate" value="10" />
</appSettings>

</configuration>
Wieso geht das nicht ?

Jelly 4. Jun 2007 13:21

Re: app.config unter Win32 lesen
 
Ok, also wenn ich im constructor von TXMLDocument einen validen Parent angebe, klappts mit Acess Violation.

Lese ich aber z.B. mit
Delphi-Quellcode:
Configuration.ChildNodes.count ;
die Anzahl der Childnodes aus, erhalt ich immer 0.

Mein Code kann doch nicht so verkehrt sein, oder ?

marabu 4. Jun 2007 14:15

Re: app.config unter Win32 lesen
 
Hallo Tom,

in deinem Beispieldokument gibt es keine ChildNodes mit tagName = configuration unterhalb von documentElement = configuration ...

Freundliche Grüße

ste_ett 4. Jun 2007 14:32

Re: app.config unter Win32 lesen
 
Hast du den Auszug oben direkt aus der Datei?
Es ist ein Fehler drin. :)

Zitat:

<add key="Database.Login" value="xxx" />

Jelly 4. Jun 2007 14:52

Re: app.config unter Win32 lesen
 
Zitat:

Zitat von marabu
in deinem Beispieldokument gibt es keine ChildNodes mit tagName = configuration unterhalb von documentElement = configuration ...

:wall:
Naturellement. Der Tag <configuration> ist ja grad mein documentElement. Eieiei.
Danke für den Hinweis.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 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