AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SynEdit ClearUndo

Ein Thema von Schorschi5566 · begonnen am 11. Feb 2022 · letzter Beitrag vom 11. Feb 2022
Antwort Antwort
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

SynEdit ClearUndo

  Alt 11. Feb 2022, 18:14
Hallo zusammen,

ich verwende SynEdit schon ewig in einer Anwendung und mir ist heute das erste Mal aufgefallen, dass ich nach dem Laden einer Datei in die SynEdit-Komponente, das zeilenweise per UNDO (STRG-Z) rückgängig machen kann. Modified ist dann logischerweise True. Das Editorfenster wieder leer.

Mit REDO (STRG-SHIFT-Z) kann ich auch alle Zeilen wieder einfügen. Modified ist dann wieder False.


Finde ich etwas merkwürdig. Mir wäre es lieber, wenn der Undo-Buffer nach dem Laden der Datei erst einmal leer wäre.


Ich habe dann versucht nach dem Laden der Datei den UNDO-Buffer mit SynEdit.ClearUndo zu löschen. Das funktioniert, aber dann scheint Modified nicht mehr richtig zu funktionieren.

D.h. SynEdit "merkt" nach dem Schreiben von Text nicht mehr, dass sich die Datei geändert hat. Modified bleibt False.

Verwende ich dann aber wieder UNDO, werden künftige Änderungen wieder erkannt. Sieht nach Bug aus, oder?


Ich verwende die aktuelle Version von TurboPack/SynEdit.


Gibt es einen Kniff, wie man den Undo-Buffer korrekt löscht?


Vielen Dank für Eure Antworten.

Uwe
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks

Geändert von Schorschi5566 (11. Feb 2022 um 18:47 Uhr)
  Mit Zitat antworten Zitat
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: SynEdit ClearUndo

  Alt 11. Feb 2022, 18:53
Habe eine Lösung gefunden.

Vielleicht hat ja mal jemand ein ähnliches Problem mit SynEdit.ClearUndo:

Das ist mein Workarround:

Delphi-Quellcode:
  FEditor.CurrEd.ClearUndo;
  FEditor.CurrEd.BeginUndoBlock;
  FEditor.CurrEd.Lines.Add(' ');
  FEditor.CurrEd.EndUndoBlock;
  FEditor.CurrEd.Undo;
Manchmal hilft es nur drüber nachzudenken, nee eigentlich immer.
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.
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