AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

OmniXML TOmniXMLReader / TOmniXMLWriter

Ein Thema von Adrenalin · begonnen am 9. Sep 2012 · letzter Beitrag vom 9. Sep 2012
Antwort Antwort
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

AW: OmniXML TOmniXMLReader / TOmniXMLWriter

  Alt 9. Sep 2012, 11:13
Dann zeig mal bitte den Code, wie Du auf MemoInhalt genau zugreifst.

Konnte im OmniXML Code keinen Fehler erkennen, auch nicht im erzeugten XML...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Adrenalin

Registriert seit: 8. Sep 2012
16 Beiträge
 
#2

AW: OmniXML TOmniXMLReader / TOmniXMLWriter

  Alt 9. Sep 2012, 19:04
Conf ist Public

Speichern:

Delphi-Quellcode:
procedure TMainForm.Button4Click(Sender: TObject);
var ConfPath: String;
begin
  ConfPath := TPath.Combine(ExtractFilePath(Application.ExeName), 'data\');
  Conf := TAppConf.Create;
  Conf.MemoInhalt.Text := Memo1.Lines.Text;
  try
    Conf.SaveConfig(ConfPath + 'data.xml');
  finally
     Conf.Free;
  end;
end;
Laden:
Delphi-Quellcode:
var ConfPath: String;
begin
  ConfPath := TPath.Combine(ExtractFilePath(Application.ExeName), 'data\');
  Conf := TAppConf.Create();
  try
    Conf.LoadTemplate(ConfPath + 'data.xml');
    Memo1.Lines.Text := Conf.MemoInhalt.Text;
  finally
     Conf.Free;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

AW: OmniXML TOmniXMLReader / TOmniXMLWriter

  Alt 9. Sep 2012, 19:18
Also hier bei dem Code sehe ich kein Problem.

Ich muss nochmal nachfragen:
Führst Du wirklich selbst ein
MemoInhalt := TStringList.Create; im constructor von TAppConfig durch? (Und dann ein .Free() im destructor...)

Du kannst auf alle anderen Properties ohne Initialisierung zugreifen, da es ja keine Klassen bzw. Objekte sind...
Der Reader erzeugt das TStringList-Objekt nicht von selbst, sondern lädt nur die Sachen aus dem XML in ein vorhandenes rein. Und der OmniReader prüft auch auf <> nil, bevor er das Objekt anfasst und die Sachen aus der XML reinlädt (daher auch keine Exception an der Stelle)...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Adrenalin

Registriert seit: 8. Sep 2012
16 Beiträge
 
#4

AW: OmniXML TOmniXMLReader / TOmniXMLWriter

  Alt 9. Sep 2012, 19:19
Also hier bei dem Code sehe ich kein Problem.

Ich muss nochmal nachfragen:
Führst Du wirklich selbst ein
MemoInhalt := TStringList.Create; im constructor von TAppConfig durch? (Und dann ein .Free() im destructor...)

Du kannst auf alle anderen Properties ohne Initialisierung zugreifen, da es ja keine Klassen bzw. Objekte sind...
Der Reader erzeugt das TStringList-Objekt nicht von selbst, sondern lädt nur die Sachen aus dem XML in ein vorhandenes rein. Und der OmniReader prüft auch auf <> nil, bevor er das Objekt anfasst und die Sachen aus der XML reinlädt (daher auch keine Exception an der Stelle)...
Ja ich create die Stringlist im Constructor
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

AW: OmniXML TOmniXMLReader / TOmniXMLWriter

  Alt 9. Sep 2012, 19:29
Und wenn Du mit Lines.Assign() arbeitest?

Memo1.Liens.Assign(Conf.MemoInhalt);
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Adrenalin

Registriert seit: 8. Sep 2012
16 Beiträge
 
#6

AW: OmniXML TOmniXMLReader / TOmniXMLWriter

  Alt 9. Sep 2012, 19:34
Und wenn Du mit Lines.Assign() arbeitest?

Memo1.Liens.Assign(Conf.MemoInhalt);
Knallts ebenfalls schon probiert
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: OmniXML TOmniXMLReader / TOmniXMLWriter

  Alt 9. Sep 2012, 19:36
Und hast du schon mal den Debugger angeworfen und geschaut, warum es denn knallt? Es kann nur knallen, wenn was nicht initialisiert ist, versuch rauszufinden was nicht existiert und schau dann warum es nicht existiert...
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:22 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