AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VerySimpleXML: Problem unter iOS?

Ein Thema von romber · begonnen am 20. Dez 2013 · letzter Beitrag vom 26. Dez 2013
Antwort Antwort
Seite 2 von 8     12 34     Letzte »    
Benutzerbild von himitsu
himitsu

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

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:14
Wie sieht es denn hier aus?
Delphi-Quellcode:
XMLObj.Ident := '';
Memo1.Lines.Text := XMLObj.Text;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
cydo

Registriert seit: 6. Sep 2006
28 Beiträge
 
#12

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:15
Ein/zwei "Problemchen" hab ich jetzt beim Überfliegen des Codes schonmal entdeckt.
Super, welche denn?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#13

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:22
Anbei ein Demoprojekt inklusive der beanstandeten XML-Datei. Suchpfad (.\source) und Bereitstellung (StartUp\Documents) für die XML-Datei sind ggf noch anzupasssen.
Angehängte Dateien
Dateityp: zip VerySimpleXML.zip (8,0 KB, 10x aufgerufen)
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:25
Ich prüfe es dann nach der Arbeit nochmal und lad es hier zum Testen hoch.
Wie gesagt, diese Dinge haben aber erstmal mir dem hier genannten Problem nichts zu tun.
- bissl Unicode-Zeugs, potentielle Speicherlecks (die aber en nicht oft auftreten sollten), ...
- das mit dem Zeilenumbruch
Delphi-Quellcode:
function TXmlVerySimple.GetText: String;
begin
  Lines.Clear;
  Lines.LineBreak := IfThen(Ident = '', '', sLineBreak);
(daß sich die klasse bei so einigen Dingen nicht an die XML-Deklaration halten, ignorier ich hier einfach mal ... dafür isses halt klein und "einfach")



Ich hoffe mal das hier gibt den ersten Node zurück:
Memo1.Lines.Text := '"' + XMLObj.Root.ChildNodes[0].Text + '"'; Was zeigt da denn das Memo an?
> Also ob der Fehler schon beim Einlesen oder erst beim Speichern auftritt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#15

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:31
Vielen Dank für eure Antworten!

Ich glaub fast der TStreamReader hat da einen Bug, denn der Dennis er selber behandelt die Zeilenumbrüche nicht selber.
Ich habe mir tetweise eine zusätzliche Funktion LoadFromXML gebaut ohne TStreamReader, die unter Windows ebenfalls pergekt funktioniert. Unter iOS ist das Ergebnis der selbe.

Ein Testprojekt lade ich gleich hoch, wobei dieser sich nicht viel von Unions Testcode unterscheiden wird. Ich spare mir nur den Zugriff auf die Dateisystem, indem ich mir eine fertige XML-Datei vom Webserver lade. Ansonsten alles gleich.

Wenn Du mir ein komplettes Testprojekt (incl. Testdateien) für iOS (unter welcher Version testest Du es?) schickst, dann kann ich ja mal nach dem Fehler suchen. Eventuell ists auch wirklich der TStreamReader, möglicherweise lässt sich da was umstellen - ich debugge es gerne
Mache ich gleich. Danke!
Angehängte Dateien
Dateityp: zip Testprojekt_VerySimpleXML.zip (8,0 KB, 3x aufgerufen)

Geändert von romber (20. Dez 2013 um 13:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:32
Wenn das die XML ist, dann sollte es nicht am StreamReader liegen, oder zeigt bei jemandem der Debugger in der Variable "Line" ein zeichen "A" und "<" an?
(sollte nicht, da Keines da ist)

- wenn das "Zeichen" in XMLNode.Text drin ist, dann ist es eher eine Art "Buffer-Overrun" in der Parse-Funktion des TVerySimpleXML
- oder es ist ein "Bug" beim Zusammenbauen der XML-Ausgabe im TVerySimpleXML (wäre ungewöhnlich, wenn der erst im StreamWriter auftritt)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#17

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:45
Das Problem liegt wohl in der Verarbeitung der letzten Verschachtelungsebene:
IsSelfClosing := (Length(Node.Text) = 0) and (Node.ChildNodes.Count = 0) Das ergibt immer true, da auf Node.Text abgefragt wird - der ist ja bei einem schließenden Tag in dem Fall immer leer. Es sollte zusätzlich Node.Parent.Text überprüft werden um das Flag zu setzen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
cydo

Registriert seit: 6. Sep 2006
28 Beiträge
 
#18

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:52
Das Problem liegt wohl in der Verarbeitung der letzten Verschachtelungsebene:
IsSelfClosing := (Length(Node.Text) = 0) and (Node.ChildNodes.Count = 0) Das ergibt immer true, da auf Node.Text abgefragt wird - der ist ja bei einem schließenden Tag in dem Fall immer leer. Es sollte zusätzlich Node.Parent.Text überprüft werden um das Flag zu setzen.
Nee, Isselfclosing fragt sowas ab:

<nixdrin/>
oder <nixdrin></nixdrin>

das ist unabhängig vom Parent Text
  Mit Zitat antworten Zitat
cydo

Registriert seit: 6. Sep 2006
28 Beiträge
 
#19

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:53
Ich habe mir tetweise eine zusätzliche Funktion LoadFromXML gebaut ohne TStreamReader, die unter Windows ebenfalls pergekt funktioniert. Unter iOS ist das Ergebnis der selbe.
ja die version 1.0 von xmlverysimple ist auch ohne tstreamreader
  Mit Zitat antworten Zitat
cydo

Registriert seit: 6. Sep 2006
28 Beiträge
 
#20

AW: VerySimpleXML: Problem unter iOS?

  Alt 20. Dez 2013, 13:54
Unter welcher Delphi Version tritt denn das Problem auf?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 8     12 34     Letzte »    


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 17:38 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