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
Seite 1 von 2  1 2      
Leo675

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

Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 09:27
Hallo allerseits

Ich bin kürzlich von 2006 auf XE2 umgestiegen. Das Programm macht ein XML File und speichert den, nichts wildes! Bei Freigabe des Speichers kommt Error Klasse EInvalid Poiter "Ungültige Zeigeroperation", den Meldung kommt nur mit Debbuger XE2, zum Test habe ich den Free sofort nach dem Create aufgerufen -> gleicher Effekt

Weißt jemand an was die Ursache liegt?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 09:41
Zitat:
zum Test habe ich den Free sofort nach dem Create aufgerufen -> gleicher Effekt
Also ein neues Auto, direkt vor der Probefahrt verschrotten lassen.

Mal im Detail im Debugger angeschaut?
Markus Kinzler
  Mit Zitat antworten Zitat
Leo675

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

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 09:48
Ja klar, es knallt genau wenn ich Free aufrufe!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 09:55
Ja klar, es knallt genau wenn ich Free aufrufe!
Debug-DCUs aktivieren damit du auch in die VCL-Quellcode rein kommst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Leo675

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

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 10:11
der zeigt mir auf system.pas

Code:
procedure TObject.FreeInstance;
begin
  CleanupInstance;
  _FreeMem(Self);
end;

class function TObject.InstanceSize: Longint;
begin
  Result := PInteger(PByte(Self) + vmtInstanceSize)^;
end;
  Mit Zitat antworten Zitat
vagtler

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

AW: Error bei XML Speicherfreigabe

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

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

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 10: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 10:57 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Error bei XML Speicherfreigabe

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

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

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 11: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
43.142 Beiträge
 
Delphi 12 Athens
 
#10

AW: Error bei XML Speicherfreigabe

  Alt 24. Sep 2012, 12:11
Verwende mal probehalber IXMLDocument statt dem TXMLDocument (also bei deiner Variable)
und laß' das .Free weg, bzw. ersetze es durch :=nil .
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:42 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