AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Error bei XML Speicherfreigabe
Thema durchsuchen
Ansicht
Themen-Optionen

Error bei XML Speicherfreigabe

Ein Thema von Leo675 · begonnen am 24. Sep 2012 · letzter Beitrag vom 25. Sep 2012
Antwort Antwort
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#1

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 11:31
Wäre es nicht hilfreich mal Deinen Code zu posten?
  Mit Zitat antworten Zitat
Leo675

Registriert seit: 13. Jan 2009
51 Beiträge
 
#2

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 11:53
Interface:
IXMLSchicht2_eintrag_listeType = interface(IXMLNodeCollection)

XML-Deklaration
Code:
TDateFromID_FN = class
 
  private
    fXML_DOC : TXMLDocument;
    fXML_S2Eintrag : IXMLSchicht2_eintrag_listeType;

  public
  procedure SaveToFileXML(const aFileName : String ='');

    constructor Create; virtual;
    destructor Destroy; override;
    property XML : IXMLSchicht2_eintrag_listeType read fXML_S2Eintrag write fXML_S2Eintrag;

constructor TDateFromID_FN.Create;
  begin
    try
      slK2     := TStringList.Create;
      slVSK2   := TStringList.Create;
      slKZ2    := TStringList.Create;
      slE23    := TStringList.Create;
      slKInfo2 := TStringList.Create;
      slBInfo2 := TStringList.Create;

      fXML_DOC := TXMLDocument.Create(nil);
      fXML_S2Eintrag := Getschicht2_eintrag_liste(fXML_DOC);
      fXML_DOC.Active:= True;
      fXML_DOC.Version := '1.0';
      fXML_DOC.StandAlone := 'yes';
      fXML_DOC.Encoding := 'UTF-8';
    except
      ....
    end;
  end;

  destructor TDateFromID_FN.Destroy;
  begin  
    ....
    fXML_DOC.Active := False;
    fXML_DOC.free;
  end;
 
procedure TDateFromID_FN.SaveToFileXML(const aFileName: String);
begin
  fXML_DOC.SaveToFile(aFileName);
end;
Funktion Aufruf

Code:
S2Daten:= TDateFromID_FN.Create;
S2Daten.SaveToFileXML('C:\temp\XML\S2_Test'+DateToStr(Now
      )+'.xml');
S2Daten.Free;

Geändert von Leo675 (24. Sep 2012 um 11:57 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 11:55
Wann gibst du die ganzen Stringlisten frei?
Markus Kinzler
  Mit Zitat antworten Zitat
Leo675

Registriert seit: 13. Jan 2009
51 Beiträge
 
#4

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 12:07
Im destructor befor ich fXML_DOC auf inactive setze ist als .... bezeichnet beim exept im constructor ist das gleiche
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 13:11
Verwende mal probehalber IXMLDocument statt dem TXMLDocument (also bei deiner Variable)
und laß' das .Free weg, bzw. ersetze es durch :=nil .
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Leo675

Registriert seit: 13. Jan 2009
51 Beiträge
 
#6

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 14:02
Es hat geklappt! Danke!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 17:33
Du glaubst es vielleicht nicht, aber was glaubst du wie sich jemand freut, wenn er irgendwann mal das selbe Problem hat, tatsächlich die Suchfunktion benutzt, aber Keiner irgendwo die abschließende Lösung verraten hatte?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Leo675

Registriert seit: 13. Jan 2009
51 Beiträge
 
#8

AW: Error bei XML Speicherfreigabe

  Alt 25. Sep 2012, 09:10
Klar, allerdings habe ich nicht so ganz verstanden, ja um XML zu ertsellen benutze ich ein Interface-Classe, die ich mit Hilfe der Datenbindung aus ein XML-Shema erstellt habe. Mit
Code:
nil
lösche ich nur den Zeiger auf benutzte Speicher und gebe nicht den Speicher frei, wie wird im dem Fall den speicher freigegeben?

Geändert von Leo675 (25. Sep 2012 um 09:12 Uhr)
  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 01:48 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 by Thomas Breitkreuz