Autor Beitrag
whitef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 202
Erhaltene Danke: 1

Windows X
Delphi XE X
BeitragVerfasst: Fr 10.06.11 16:55 
hi,

habe folgendes problem:

Ich möchte eine XML Datei erstellen. Ich habe feste Werte die ich speichern möchte und dann ein memo feld das an die vorläufige XML hinzugefügt werden soll.
ich habe auf einer form die TXMLDocument Komponente und nachfolgenden Code. Leider erscheint die unten stehende Exception.
Wenn ich allerdings die kommentierte Zeile im Code entferne, klappts wunderbar, allerdings ohne den zusatz aus der memo!


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
procedure TForm2.Button3Click(Sender: TObject);
var
  {nodexml, listNode, orderNode, headerNode, } ChildNode: IXMLNode;
  //XMLData: UTF8String;
begin

  XMLDocument1.Active := True;
  XMLDocument1.Encoding := 'ISO-8859-1';

  XMLDocument1.AddChild('BLZ_5085xxxx');

  ChildNode := XMLDocument1.ChildNodes['BLZ_5085xxxx'].AddChild('BLZ');
  ChildNode.Text := '5085xxxx';

  ChildNode := XMLDocument1.ChildNodes['BLZ_5085xxxx'].AddChild('Bankname');
  ChildNode.Text := 'Example Voba';

  ChildNode := XMLDocument1.ChildNodes['BLZ_5085xxxx'].AddChild('PLZ');
  ChildNode.Text := 'plzXX';

  ChildNode := XMLDocument1.ChildNodes['BLZ_5085xxxx'].AddChild('Ort');
  ChildNode.Text := 'buxdehude';

  XMLDocument1.XML.AddStrings (Memo1.Lines);  // Wenn ich diese Zeile ausklammer funktionierts!!
  XMLDocument1.SaveToFile(edSaveXML.Text);    // edSaveXML.Text = Pfad + Dateiangabe
end;



Beim Ausführen bekomme ich folgende Fehlermeldung:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
---------------------------
Debugger Exception Notification
---------------------------
Project db2xml.exe raised exception class EXMLDocError with message 'No active document'.
---------------------------
Break   Continue   Help   
---------------------------
whitef Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 202
Erhaltene Danke: 1

Windows X
Delphi XE X
BeitragVerfasst: So 12.06.11 11:13 
so... bin selber auf die lösung gekommen :D

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
procedure TForm2.Button3Click(Sender: TObject);
var
  {nodexml, listNode, orderNode, headerNode, } ChildNode: IXMLNode;
  //XMLData: UTF8String;
begin

  XMLDocument1.Active := True;
  XMLDocument1.Encoding := 'ISO-8859-1';

  XMLDocument1.AddChild('BLZ_5085xxxx');

  ChildNode := XMLDocument1.ChildNodes['BLZ_5085xxxx'].AddChild('BLZ');
  ChildNode.Text := '5085xxxx';

  ChildNode := XMLDocument1.ChildNodes['BLZ_5085xxxx'].AddChild('Bankname');
  ChildNode.Text := 'Example Voba';

  ChildNode := XMLDocument1.ChildNodes['BLZ_5085xxxx'].AddChild('PLZ');
  ChildNode.Text := 'plzXX';

  ChildNode := XMLDocument1.ChildNodes['BLZ_5085xxxx'].AddChild('Ort');
  ChildNode.Text := 'buxdehude';

  XMLDocument1.XML.AddStrings (Memo1.Lines);  // Wenn ich diese Zeile ausklammer funktionierts!!
  XMLDocument1.Active := True; 
  XMLDocument1.SaveToFile(edSaveXML.Text);    // edSaveXML.Text = Pfad + Dateiangabe
end;


obwohl ich am anfang bereits das XMLDocument1 auf true gesetzt hatte, muss es später vor dem speichern auch wieder rein.

"No Active Document" - Fehler ist somit beseitigt^^