Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TSynEdit "infinite loop" Exception bei XML Highlighter
Delete - Mo 02.04.07 11:13
Titel: TSynEdit "infinite loop" Exception bei XML Highlighter
Hallo,
ich habe ein Problem: Ich benutze die TSynEdit-Komponenten u.a. in Verbindung mit dem XML Highlighter. Manchmal passiert es, dass ich die Exception "The highlighter seems to be in an infinite loop" (besonders bei großen XML Dateien) bekomme. Kann mir jemand bitte helfen, wie ich das Problem fixen kann...?
Vielen Dank.
Viele Grüße
rd3
chrisdrury - Mo 02.04.07 11:42
Beim Laden einer XML-Datei Try-except verwenden?
Oder Highlighter dynamisch zuweisen?
Delphi-Quelltext
1:
| SynEdit1.Highlighter := SynXMLSyn1; |
Also ich hatte schon einige Exceptions, die aber noch nicht! :shock:
Delete - Mo 02.04.07 11:52
Hallo,
ich erstelle alles sowieso zur Laufzeit und weise das dann auch so zu... Ich benutze mehrere Highlighter, jedoch ist das nur bei XML so. und auch erst dann, wenn ich durch die Datei browse oder etwas Neues hinzufügen möchte/editieren...
Gruß
rd3
Andidreas - Mo 02.04.07 14:08
Eventuell ne Macke im SynEdit. Hast Du denn die neueste Version von SynEdit? 2.0.5 vom 13.3.07
Delete - Mo 02.04.07 14:35
ja, hab die neueste version...
bei folgendem XML-Code zickt er rum:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| <?xml version="1.0" encoding="UTF-8"?> <APPROVAL> <ITEMTYPES GUTACHTEN='73,74,76' /> <GUTACHTEN> <ATT1>APPROVAL1</ATT1> <ATT2>APPROVAL2</ATT2> <ATT3>APPROVAL3</ATT3> <PERIOD>DATAPPRAISAL</PERIOD> <VD1>Z_XNO_VALUATIONERTRAGSWERT_%ITEMTYPE%.B_%CURRENCY%_FAIRVALUEMAN_%ITEMTYPE%</VD1> <VD2>Z_XNO_VALUATIONERTRAGSWERT_%ITEMTYPE%.B_%CURRENCY%_FAIRVALUE_%ITEMTYPE%</VD2> <THIRDEYE>10000000000</THIRDEYE> </GUTACHTEN> </APPROVAL> |
Vielleicht hat ja doch einer ne Idee.
Danke im Voraus.
Gruß
rd3
Andidreas - Mo 02.04.07 14:39
Wäre schön, wenn Du den Source als zip-Datei mal zur verfügung stellen könntet, dann kann man das besser nachvollziehen.
Delete - Mo 02.04.07 15:22
Der Fehler liegt meiner Meinung nach in der SynEdit.pas
Die haben dort auch folgendes Kommentar:
"// Cooperate with some buggy highlighters..." (Zeile 3294)
Hat nicht irgendjemand noch ne Idee?
UGrohne - Mo 02.04.07 15:29
Du schreibst im Kommentar, dass es an den Hochkommata liegen könnte. Im XML-Standard sind AFAIK doppelte Hochkommata für Strings definiert, beispielsweise bei Attributen. Gibt es dabei auch den Fehler?
Delete - Mo 02.04.07 15:35
Hab es mal mit doppelten Anführungszeichen probiert und der fehler bleibt... noch ne idee irgendeiner?
vielen dank und beste grüße,
rd3.
PS, das ganze ist leicht zu reproduzieren: einfeach ein TSynEdit und den XML-Highlighter auf ne Form und folgenden XML-Code einfügen:
XML-Daten
1: 2: 3: 4: 5:
| <?xml version="1.0" encoding="UTF-8"?> <APPROVAL> <ITEMTYPES GUTACHTEN='73,74,76' /> |
dann kommt der Fehler...
//EDIT: das ganze passiert u.a. auch bei dem HTML-Highlighter... Dachte, ich könnte es mit dem umgehen, aber pustekuchen... :(
Delete - Mo 02.04.07 22:46
die xml-datei ist korrekt... synedit kommt evtl nicht mit den umbrüchen oder hochkommas klar, oder was weiß ich... das posting bei sourceforge ist von mir... die hams gelöscht... super...
Andidreas - Mo 02.04.07 22:51
Das ist ein Schweineverein. Sollten lieber das Problem lösen.
Delete - Mo 02.04.07 22:56
evtl wechsel ich zu UCE von mike lischke... da funzt es...
vielen dank für eure antworten...
evtl. kappe ich die exceptions... dann soll der user selber merken, was er falsch macht...
Andidreas - Mo 02.04.07 23:03
Oder nimm ne ältere Version. In ConText vom Dezember 2006 gibt es überhaupt keine Probleme mit dem einlesen und korrekten Syntexhighlighting.
Delete - Mo 02.04.07 23:06
danke für den tipp! aber heute mach ich nix mehr! ;) schnauze voll!
//EDIT: hab gerade n altes programm mit der version 1.x probiert... da funzt auch alles noch...
Andidreas - Fr 06.04.07 11:42
Hab mal den für diese Meldung zuständigen Bereich aus der SynEdit.pas entfernt. Nun klappt es wieder einwandfrei.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!