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 6 von 8   « Erste     456 78      
Insider2004
(Gast)

n/a Beiträge
 
#51

AW: VerySimpleXML: Problem unter iOS?

  Alt 21. Dez 2013, 01:22
Da gibts noch einen Fehler in VerySimpleXML: Wenn das XML-File keine CRLF enthält (Ident=0, LineBreak=''), kommt man beim Lesen in eine Endlosschleife.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: VerySimpleXML: Problem unter iOS?

  Alt 21. Dez 2013, 02:06
Knallt Die auch?
Im Windows macht sie es im Testprogramm zumindestens nicht. (nach Compact, wird die, im Save, ohne Zeilenumbrüche eingelesen)
Wenn ich dann wieder aufgewacht bin, kann ich gern was dazu sagen.


LLVM: Dann freu ich mich schon darauf, wenn bald auch noch die VCL-Apps knallen.
Angehängte Dateien
Dateityp: 7z VerySimpleXml.7z (9,4 KB, 11x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Dez 2013 um 02:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: VerySimpleXML: Problem unter iOS?

  Alt 21. Dez 2013, 10:02
Das hat nichts mit LLVM zu tun sondern mit der falschen Umsetzung in der RTL.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#54

AW: VerySimpleXML: Problem unter iOS?

  Alt 21. Dez 2013, 10:39
LLVM ist der größte Misst, weil es 0,0 in die Emba-Toolchain passt und total verbuggt ist. Aber wir sollten hier den schönen VerySimpleXML-Thread nicht mit LLVM verseuchen.
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#55

AW: VerySimpleXML: Problem unter iOS?

  Alt 21. Dez 2013, 11:42
Knallt Die auch?
Im Windows macht sie es im Testprogramm zumindestens nicht. (nach Compact, wird die, im Save, ohne Zeilenumbrüche eingelesen)
Kann ich nicht testen. Läuft nicht mit Delphi 7. Du kannst aber mal ein 1 MB xml File erstellen ohne CRLF. Alles in einer Zeile. Ich wette, das Ding frisst sich beim Laden.
  Mit Zitat antworten Zitat
cydo

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

AW: VerySimpleXML: Problem unter iOS?

  Alt 21. Dez 2013, 12:12
@romber:
Das Problem liegt in der Suche des ersten Zeichens eines Strings: beim "normalen" Windows-Delphi Compiler geht das so mit S[1] während die Standardeinstellungen beim neuen Compiler (iOS/Android) man bei 0 anfangen muss: S[0].
Du kannst vorrübergehend einfach in der XML-Unit oben ein {$ZEROBASEDSTRINGS OFF} einfügen, dann gehts auch. Ich werde aber die Unit umschreiben dass diese nun S[Low(String)] (Danke für diese Lösung, ist sicher schneller als copy) verwendet, dann gehts auch mit allen anderen Delphi-Compilern (D2009 und aufwärts, da Generics verwendet werden).

Einzeilige XMLs sollten kein Problem sein. macht er ja auch selber in der Demo. Ich habe aber noch einige Fixes, die noch nicht in eine offizielle Version eingegangen sind, ich werde die nächsten Tage diese einpflegen und eine 1.5 daraus machen (ich gebe hier Bescheid, wenns fertig ist).
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#57

AW: VerySimpleXML: Problem unter iOS?

  Alt 21. Dez 2013, 15:44
Problem analysiert: Die Engstelle ist GetText. Bei jedem Tag wird der gesamte XML-File-Inhalt durch die Funktion geschleust. In meinem Beispiel hat das XML-File 2.5MB und 30000 Tags, keine CRFL. Nicht sooo groß, würde ich sagen. Das sind dann 30000 Tags * 2.5MB = 75000 MB = 75GB !!!, die umgeschaufelt werden. Bei mir läuft das jetzt seit über 20 Minuten.

Geändert von Insider2004 (21. Dez 2013 um 17:17 Uhr)
  Mit Zitat antworten Zitat
romber

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

AW: VerySimpleXML: Problem unter iOS?

  Alt 21. Dez 2013, 15:50
@cydo
Vielen Dank für die umfassende Hilfe an Sie und alle anderen.

Ich habe die Unit für den eigenen Bedarf auch ein wenig angepasst, indem ich die Text-Eingeschaft der Node und die Attribute-Value als Variant deklariert habe. So vermeide ich unnötige umwandlungen von String in Integer oder Boolean. Nur als Verbesserungsvorschag für die nächte Version.

Vielen Dank!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: VerySimpleXML: Problem unter iOS?

  Alt 22. Dez 2013, 13:48
Das GetText ist eines der Engstellen (wenn auch die Größte) ... dieses hatte ich etwas abgeändert, so daß erst gesucht und dann der Text als ein Stück rauskopiert und gelöscht wird.
Das macht dann ein Insert+Delete pro Tag (jeweils von < bis >) und dann nochmal pro Part (die Einzelteile im Tag) und nicht mehr überall pro einzelnes Zeichen.
> siehe ExtractText ... umbenannt, da es den Text ausschneidet und nicht "nur" ausliest.

@Romber:
Eigentlich wäre es einfacher dort AsBool-, AsInt-, AsFloat-, AsDate-Property einzubauen, denn spätestens beim Float und TDateTime wird es "schlimm",
denn da nimmt der Variant die Systemeinstellungen.
- Beim Float das Dezimaltrennzeichen der aktuellen Sprache, aber eine XML ist Englisch und "muss" immer nur in einer Sprache sein, denn sonst schreibst du den Float in einer Sprache (z.B. Deutsch mit Komma als "Komma") und beim Auslesen in einer anderen Sprache (z.B. Englisch mit Punks als "Komma") da hast du dann deinen "Spaß".
- Und beim Datetime genauso, dort wird das Systemformat vom DateTimeToStr verwendet, was sich auch unterscheidet und eigentlich hat da XML sogar sein eigenes "Standard"-Format.
(bei meiner XML-Klasse hatte ich mir daher einen eigenen "Variant" gebastelt, aber hier soll es ja "Simple" sein )
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Dez 2013 um 14:02 Uhr)
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#60

AW: VerySimpleXML: Problem unter iOS?

  Alt 22. Dez 2013, 14:57
Das GetText ist eines der Engstellen (wenn auch die Größte) ... dieses hatte ich etwas abgeändert, so daß erst gesucht und dann der Text als ein Stück rauskopiert und gelöscht wird.
Das macht dann ein Insert+Delete pro Tag (jeweils von < bis >) und dann nochmal pro Part (die Einzelteile im Tag) und nicht mehr überall pro einzelnes Zeichen.
> siehe ExtractText ... umbenannt, da es den Text ausschneidet und nicht "nur" ausliest.
Das ist immerhin besser, als die alte Lösung, da Insert und Delete sehr teuer sind.

Vielleicht wäre es auch einfacher, den einen Monster-string beim Laden einfach in mehrere kleine von z.b. 200er Länge zu zerhacken. Der Algo sollte das trotzdem fressen, da ja die nächste Line nachgeladen wird, wenn die alte abgearbeitet ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 8   « Erste     456 78      


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