@ freak:
Da musst du wohl aber noch ein bisschen tüfteln, das geht so nicht.
Folgender Code:
Der Senkrechtstricht soll der Cursor sein. So. Und jetzt drückst du mal die Zurück-taste (Löschtaste). Wirst schon sehen, was dann passiert, drück ruhig mal öfters!
"An Error has been detected. Good Bye!"
Das bestätigt meine Vermutung, dass das Folding die ganzen Fehler verursacht:
http://www.purebasic.fr/english/viewtop ... ight=arsch
http://www.purebasic.fr/german/viewtopi ... hlight=ide
Was meinst du?
Edit: Ich persönlich finde es keine gute Idee, ein Procedure mit einem ;} abschließen zu wollen. Das führt nur zur Verweirrung. Es sollte zu jedem Anfangswort (Procedure) auch ein Endwort geben (EndProcedure), sodass das Anfangswort nur durch das Endwot geschlossen werden kann.
Das beste Beispiel ist das hier:
Code: Alles auswählen
;{ Hiermit möchte ich die den ganzen Krempel wegklappen können
Structure waghalsig
gewagt.l
kuehn.l
riskant.s
EndStructure
Procedure test() ;}
EndProcedure
Enumeration
#krempel
#den
#keiner
#braucht
EndEnumeration
;}
Structure, Procedure und Enumeration hab ich bei mir als Folding Keyword. Ich kann den ganzen Abschnitt aber nicht wegklappen, bloß weil das Folding Feature nicht zuende gedacht wurde.
Edit 2:
Dank den Linien, die so ein Folding bildet, kann jeder sich gut daran orientieren, über wie viele zeilen sich zum Beispiel eine Prozedur erstreckt.
Ein Procedure irrsinnigerweise mit einem ;} abschließen zu wollen ändert dies; die Prozedur ist nicht mal als soche erkennbar, da die Leitlinie verschwindet.
Wenn das jetzt nicht nur in einem Testcode wie den obigen passiert, sondern in einem Programm, dass bereits tausende Codezeilen hat, finde ich das persönlich ziemlich schlimm.
Jetzt kann ja jeder sagen: "OK, dann benutz das Feature doch nicht." Da habt ihr Recht. Ich werde auch kein Procedure mit einem ;} abschließen.
Aber ich will das Folding Feature "richtig" benutzen. Mit "richtig" meine ich es so, wie ich es in Edit1 gezeigt habe.