Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Beim XML laden bleibt die Anwendung einfach hängen (https://www.delphipraxis.net/98365-beim-xml-laden-bleibt-die-anwendung-einfach-haengen.html)

jim_raynor 26. Aug 2007 10:19

Re: Beim XML laden bleibt die Anwendung einfach hängen
 
Zitat:

Zitat von gsh
Aber des Problem das er einfach stecken bleibt ist immer noch da :wall:

Funktioniert es denn ohne Debugger? Wenn ja, versuche mal alle "überwachten Ausdrücke" zu löschen. Hatte es jetzt schon öfter gehabt, dass der Debugger sich beim Auswerten aufgehangen hat ...

gsh 26. Aug 2007 10:26

Re: Beim XML laden bleibt die Anwendung einfach hängen
 
Zitat:

Zitat von computer-glossar.de
sicher?
vielleicht ist der dialog einfach nur in den hintergrund gerutscht?
dann schaut es so aus als wenn nix mehr geht...

ne ist er nicht
selbst wenn ich nur XMLDocument.DocumentElement.NodeName; aufrufe bleibt er hängen

Zitat:

Zitat von jim_raynor
Zitat:

Zitat von gsh
Aber des Problem das er einfach stecken bleibt ist immer noch da :wall:

Funktioniert es denn ohne Debugger? Wenn ja, versuche mal alle "überwachten Ausdrücke" zu löschen. Hatte es jetzt schon öfter gehabt, dass der Debugger sich beim Auswerten aufgehangen hat ...

überwachten ausdrücke sind gelöscht
funkt ohne debugger auch nicht

semo 26. Aug 2007 10:26

Re: Beim XML laden bleibt die Anwendung einfach hängen
 
oder ruf einfahc die erzeugte EXE auf....

gsh 26. Aug 2007 10:29

Re: Beim XML laden bleibt die Anwendung einfach hängen
 
Zitat:

Zitat von computer-glossar.de
oder ruf einfahc die erzeugte EXE auf....

hab ich doch ... geht nicht

marabu 26. Aug 2007 10:41

Re: Beim XML laden bleibt die Anwendung einfach hängen
 
Hallo ihr beiden,

das Code-Gerüst sollte besser so aussehen:

Delphi-Quellcode:
function XML_Load(fn: TFileName; vst: TVirtualStringTree): Boolean;
var
  xDoc: IXMLDocument;
begin
  xDoc := LoadXmlDocument(fn);
  with xDoc do
  try
    Active := True;
    ShowMessage(documentElement.NodeName);
    {
    ...
    }
    Result := True;
  except
    Result := False;
  end;
end;
Achtet auf den Typ der lokalen Variable xDoc. Ein Einfrieren des Programms kann ich mir so nicht vorstellen.

Grüße vom marabu

gsh 26. Aug 2007 10:53

Re: Beim XML laden bleibt die Anwendung einfach hängen
 
hmm wenn ich das objekt so
XMLDocument := LoadXMLDocument(XMLFilename); erstelle dann geht es sogar ... es gibt dann nur ziemlich viele speicherleaks :(
aber ich versteh nicht warum ich des objekt nicht so erstellen kann XMLDocument := TXMLDocument.Create(nil);

marabu 26. Aug 2007 14:08

Re: Beim XML laden bleibt die Anwendung einfach hängen
 
Hallo Alex,

da gibt es ein kleines Problem mit Borlands Implementierung dieser Methode, das erzeugte VCL-Objekt TXMLDocument wird so nie freigegeben.

Also besser so:

Delphi-Quellcode:
function XML_Load(fn: TFileName; vst: TVirtualStringTree): Boolean;
var
  xDoc: TXMLDocument;
begin
  xDoc := TXMLDocument.Create(Application);
  with xDoc do
  try
    try
      FileName := fn;
      Active := True;
      ShowMessage(documentElement.NodeName);
      {
      ...
      }
      Result := True;
    except
      Result := False;
    end;
  finally
    Free;
  end;
end;
Freundliche Grüße

gsh 26. Aug 2007 15:05

Re: Beim XML laden bleibt die Anwendung einfach hängen
 
Hab den Fehler gefunden
So gehts nicht: XMLDocument := TXMLDocument.Create(nil);
So gehts: XMLDocument := TXMLDocument.Create(Application);
Danke leute :cheers:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:22 Uhr.
Seite 2 von 2     12   

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