Delphi-PRAXiS
Seite 16 von 35   « Erste     6141516 171826     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   himXML (gesprochen himix ML) (https://www.delphipraxis.net/130751-himxml-gesprochen-himix-ml.html)

himitsu 10. Sep 2009 21:50

Re: himXML (gesprochen himix ML)
 
!!! ACHTUNG !!!
In der aktuellen Version gibt es einen Bug, welcher bei Dateien über 32 KB (der internen Puffergröße) Auftritt.

Bisher dachte ich, dieses liegt an einer meiner Testdateien, welche womöglich inkorrekte Daten enthält (welche ich jedoch nie fand),
da sich bisher sonst noch keiner über diesen Fehler beschwerte.

Bei der Umstellung der Codes stellte sich aber raus, daß es doch ein Bug beim Nachladen des Puffers ist,
welcher Auftritt, wenn rein zufällig der Text eines Attributes über die Puffergrenze ragt und an dieser Stelle nachgeladen werden mußte.


In den neuen Codes ist der Fehler nun behoben (es dauert aber noch etwas, bis es fertig zum Hochladen ist),
aber leider finde ich die betreffende Stelle nicht im alten/aktuellen Code.


Also unter 32 KB gibt es diesbezüglich keine Probleme und bei größeren Dateien tritt er wohl recht selten auf.
Wenn ich das auf meine über 312 MB an Testdateien beziehe, dann werden über 95% davon, trotzt Bug, erfolgreich gelesen.
Außerdem existiert dieser Bug schon von Anfang an und es gab dennoch keine beschwerden.
:nerd:

himitsu 17. Sep 2009 00:09

Re: himXML (gesprochen himix ML)
 
Der neue interne Parser (TXReader) und sein Gegenstück (TXWriter) sind hoffentlich fertig.

- TXMLFile und Co. scheint, nach dem Umbau, nun auch wieder zu laufen
- hab dort unter Anderem das Parsen ausgebaut und in extra Klassen verlagert
- so kann ich demnächst (möchte nur noch einige Tests machen) diesen gemeinsamen Parser auch in TSAXFile einbauen und es hat dann nicht mehr jeder seine eigene Parser-Version
- TSAXFile läuft aber aktuell nicht, da ich wegen nun fehlender Strukturen so Einiges auskommentieren mußte
- die ganzen Interfaces und zugeförige Codes/Umleitungen wurden entfernt
- die Tools wurden in eigene Units ausgelagert
- die mindestens benötigten Hauptunits wären: himXML.pas, himXML_Lang.pas und himXMLCheck.inc

- nja, werd' noch etwas Zeit benötigen, bis wieder alles richtig läuft ... ist halt viel geändert wurden,
aber an den öffentlichen Interfaces der Hauptklassen wurde kaum was verändert :angel:
- nur bei der Record-Serialisierung wurde das InfoRecord durch eine Klasse ersetzt, welche sich nun selbst verwaltet und dafür entfiehl der InfoRecord-Creator aus/in der Demo
- und der letztens erwähnte Bug is weg (na mal sehn, welche Neuen dafür nun reingekommen sind :nerd: )

Anhang (Beta) zum Reinschnuppern liegt im 1. Beitrag

himitsu 17. Sep 2009 20:09

Re: himXML (gesprochen himix ML)
 
kleine Fehler behoben (Dateien siehe Post #1)

* so wurden z.B. die Texte von Kommentaren und CDATA-Bereichen als Extra-Node gespeichert
* die ParsedSingleTags werden auch wieder unterstützt, auch wenn die wohl keiner nutzt,
da man sowas wie
(aus HTML und nicht als geschlossener EinzelTag gekenneichnet, also nicht als
) in XML normalerweise nicht antrifft
* und andere Kleinigkeiten



Nun noch der Hauptgrund dieses Posts ... mal eine Frage

Und zwar suche ich einen/zwei Namen für neue Properties,
welche in Verbindung mit der Textformatierung und der grad eingebauten Normalisierung stehen.

einmal suche ich einen Namen für diese Formatierung, wo jedes Attribut eines Nodes in einer eigenen Zeile steht
XML-Code:
<node
  attr1 = "text"
  attr2 = "text"
  attr3 = "text">

statt

<node attr1="text" attr2="text" attr3="text">
und ein Name fpr eine Option, wo der NodeText in eine eigene Zeile rutscht
XML-Code:
<node>
  text
</node>

statt

<node>text</node>
(diese Opionen können dann für jeden Node getrennt zugeschaltet werden)

praktisch wie man es von hier kennt, damit die Dateien dann eventuell menschenlesbarer werden
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    [color=#0000ff]version="0.0.0.0"
    processorArchitecture="X86"
    name="Private.Unbekannt.MeineBeispielApp"
    type="Win32"[/color]/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          [color=#0000ff]level="asInvoker"
          uiAccess="false"[/color]/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        [color=#0000ff]type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="*"[/color]/>
    </dependentAssembly>
  </dependency>
</assembly>

Hawkeye219 17. Sep 2009 20:20

Re: himXML (gesprochen himix ML)
 
Hallo himitsu,

was hältst du von "WrapAttributes" und "WrapText"?

Gruß Hawkeye

himitsu 17. Sep 2009 21:03

Re: himXML (gesprochen himix ML)
 
hmmm, klingt schonmal nicht schlecht,
wobei WrapText irgendwie nach einer weiteren noch unbekannten Option klingt, welche ebenfallt fehlt :oops:

Es gibt ja Editoren (dazu gehört auch Delphi's IDE), welche nicht mit zu langen Zeilen klarkommen (z.B. maximal 1024 Zeichen) und dafür bräuchte ich auch noch eine Option, um dieses zu (de)aktivieren.

holliesoft 17. Sep 2009 21:15

Re: himXML (gesprochen himix ML)
 
Hi,

wie wäre es mit IndendNodeText?

Bin schon gespannt auf die Version mit den neuen Optionen. Werde dann auch nochmal Paypal bemühen :thumb:

Grüße
Patrick

GerMan62 19. Sep 2009 08:05

Re: himXML (gesprochen himix ML)
 
Hallo,

geht die neue Beta auch für Delphi 7 oder Delphi 2007

himitsu 19. Sep 2009 08:31

Re: himXML (gesprochen himix ML)
 
Für 2007 dürfte sie gehn

Hab es nicht nochmal getestet, aber Turbo, 2006, 2007 und 2009 sollte (hoffentlich) gehn.
Für 2010 fehlen noch einige Sachen der neuen RTTI.
Bei 2005 hab ich absolut keine Ahnung, ob es geht ... kann, muß aber nicht.
Und vor 2006 gab es einige verwendete Sprachkonstrukte noch nicht, daraum geht es aktuell nicht, da es noch nicht für alles eine "Alternative" eingebaut ist.

Wenn es Probleme mit dem Record TIndex gibt, dann läßt sich dieser abschalten.
(einfach den Compilerschalter hxExcludeTIndex in den Projektoptionen eintragen)


Bin grad etwas mit PHP ausgelastet ... mal sehn wann/ob meine Webseite fertig ist, wo dann eine Online-Hilfe eingebaut wird.

GerMan62 19. Sep 2009 20:14

Re: himXML (gesprochen himix ML)
 
Hallo,

beim Kompilieren der neuen Beta Version mit Delphi 2007 meldet er folgende Kompileranweisungen als unbekannt.

{$POINTERMATH OFF}
{$STRINGCHECKS OFF}

Wenn ich sie auskommentiere bringt er z.B. hier einen Fehler.

{$IF Declared(UnicodeString)}
----> varUString, varUString or varByRef: Begin
_Attributes['variant'] := 'WideString';
If TVarData(V).VType and varByRef = 0 Then
Text_S := UnicodeString(TVarData(V).VUString)
Else Text_S := PUnicodeString(TVarData(V).VPointer)^;
End;
{$IFEND}

[DCC Fehler] himXML.pas(5110): E2003 Undefinierter Bezeichner: 'varUString'


Insgesammt bringt er so ca. 28 Fehler.

Kannst Du mir da bitte etwas helfen.

Danke

himitsu 19. Sep 2009 20:24

Re: himXML (gesprochen himix ML)
 
{$POINTERMATH OFF} kennt 2007 das nicht?
ich dachte das wäre schon vor unzähligen Jahren eingeführt worden :gruebel:

{$STRINGCHECKS OFF} ok, das ist in D2009/D2010 neu und wird prompt behoben

{$IF Declared(UnicodeString)}
ich wollte schon sagen "häääää? das geht doch nicht", da UnicodeString erst ab D2009 existiert und demnach es vom Compiler hätte ignoriert werden müssen,
aber da bin ich selber dran Schuld und werd' mir dann mal was ausdenken müssen :oops:

das Letzte ist aktuell soein ähnliches Problem, warum himXML noch nicht im D2010 läuft

wird aber ein paar Minuten dauern (werd's wohl morgen geändert haben ... mach erstmal was anderes fertig, nicht daß ich noch durcheinanderkomm)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 Uhr.
Seite 16 von 35   « Erste     6141516 171826     Letzte »    

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