Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
Re: himXML (gesprochen himix ML)
17. Jul 2009, 15:14
- [add] die Exceptions hab ich auch noch etwas umgebaut
- z.B. wird jetzt bei allen Exceptions wärend des Parsens die aktuelle Dateiposition angezeit
- aber was Kodierungsfehler angeht ... da wird nur die etwaige Position genannt, also den Start der aktuellen Leseposition entsprechende des Lesepuffers (standardmäßig 32 KB).
eine genauere Positionsangabe ist derzeit noch nicht vorgesehn (bissl aufwendig) ... kümmere mich da erstmal um andere Dinge
- hab noch 'nen kleinen Fehler in ReadBOM behoben ... da wurden alle Vorgaben auf UTF-8 zurückgesetzt, wenn kein BOM gefunden wurde ... lso Vorgaben waren wirkungslos
- die Interface-Verion läßt sich schonmal wieder kompilieren und sieht garnicht soooo schlecht aus ...
nun muß ich nur noch irgenwann mal das mit der defekten Referenzzählung hinbekommen
- dieses geht nun also
Delphi-Quellcode:
Var S: AnsiString;
S := ' <root>â</root>';
XML.LoadFromXML(S, xeIso8859_1, False);
XML.LoadFromXML(' <root>â</root>', xeIso8859_1, False);
// bzw. direkt für D2009 (sonst würde die UnicodeVersion aufgerufen
// und Unicode nach ISO-8859 geht nicht mehr)
XML.LoadFromXML(AnsiString(' <root>â</root>'), xeIso8859_1, False);
- wollte eigentlich noch dieses unterstützen,
XML.asXML[xeIso8859_1] := '<root>â</root>';
aber leider klappt das mit den Vorgabewerten bei den Parametern nicht
und man müßte immer eine Kodierung angeben.
also hab ich's weggelassen und es ist da immer UTF8
- die bisher freie Umschaltmöglichkeit der Kodierung wurde begrenzt und es kann nur noch umgeschaltet werden (via Prozessor-Style-Tag <?xml encoding="..."?> ), wenn der Zeichensatz mindestens eine gleich große Char-Size aufweist.
also von Unicode nach UTF-8 umschalten geht nicht mehr
- Grund dafür sind die Änderungen, welche einem nun erlauben das Encoding vorzugeben/abzuschalten
und weshalb ich selber nicht mehr die volle Kontrolle über die Kodierung/Speicherbelegung hab.
ein halbes Char in einem UnicodeString ist halt nicht möglich und darum mußte ich eine Sperre einbauen.
- dann hab ich mir mal erlaubt die Dateiheader und settings aufzuräumen
- da Delphi ja einige Probleme mit geänderten Compilerschaltern in den Projektoptionen hat:
+ mit der includen der himXMLCheck.inc, nach dem Usesabschnitt, kann nun im eigenen Projekt geprüft werden, ob die Units des himXML mit den selben Basisoptionen kompiliert wurden, wie das Projekt
+ in meinen Units wurde eine ähnliche "Selbstüberwachnung" ebenfalls integriert
> es gibt dann eine Compilerwarnung, welche auffordert die Units neu zu compilieren
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|