Autor Beitrag
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 02.04.07 11:13 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184

WinXP
D5 Prof
BeitragVerfasst: Mo 02.04.07 11:42 
Beim Laden einer XML-Datei Try-except verwenden?
Oder Highlighter dynamisch zuweisen?
ausblenden Delphi-Quelltext
1:
SynEdit1.Highlighter := SynXMLSyn1;					

Also ich hatte schon einige Exceptions, die aber noch nicht! :shock:
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

Windows XP Pro
BDS 2006
BeitragVerfasst: 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
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 02.04.07 14:35 
ja, hab die neueste version...

bei folgendem XML-Code zickt er rum:

ausblenden 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'  <!-- An dieser Stelle gibt es den Fehler, hat irgendwie mit den Hochkommas was zu tun -->
   />
   <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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

Windows XP Pro
BDS 2006
BeitragVerfasst: 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.
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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?
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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:

ausblenden 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... :(
Andidreas
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

Windows XP Pro
BDS 2006
BeitragVerfasst: Mo 02.04.07 17:29 
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

Windows XP Pro
BDS 2006
BeitragVerfasst: Mo 02.04.07 22:51 
Das ist ein Schweineverein. Sollten lieber das Problem lösen.
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

Windows XP Pro
BDS 2006
BeitragVerfasst: 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.
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

Windows XP Pro
BDS 2006
BeitragVerfasst: 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.