![]() |
TSynEdit & TSynMacroRecorder
Hallo,
Kurz gefasst: Wie kann ich mit TSynEdit und TSynMacroRecorder Makros aufnehmen? "macro" = Instanz der Klasse (quasi nicht-visuelle Komponente). "SynEdit1" = Instanz der Klasse TSynEdit (quasi visuelle Komponente). Makroaufnahme starten (via Button):
Delphi-Quellcode:
Makroaufnahme stoppen (via Button):
macro.RecordMacro(SynEdit1);
Delphi-Quellcode:
...funktioniert leider nicht.
macro.Stop;
macro.SaveToFile('c:\test.mak'); Wenn ich das Makro später starten/aufrufen will:
Delphi-Quellcode:
... dann macht er gar nix. :shock:
macro.LoadFromFile('c:\test.mak');
macro.PlaybackMacro(SynEdit1); Öffne ich das Makro dann per Editor sehe ich auch, dass das Makro leer ist, bis auf eine paar "NUL"-Symbolzeichen. Ich habe hier auch ein Makro welches "Hallo" ausgibt, welches daher mehr Symbolzeichen (nennen wir es mal hieroglyphischen Text ^^) beinhaltet. Daher muss ich ja irgendwas falsch machen. Über Rat und Hinweis danke ich im vorraus :) MfG TM |
Re: TSynEdit & TSynMacroRecorder
Hallo,
Nimm diese Funktionen:
Delphi-Quellcode:
procedure LoadFromStream(aSrc: TStream); procedure LoadFromStreamEx(aSrc: TStream; aClear: boolean); procedure SaveToStream(aDest: TStream); |
Re: TSynEdit & TSynMacroRecorder
Dann tritt hier ein Laufzeitfehler auf:
Delphi-Quellcode:
Ich vermute, er nimmt gar nicht wirklich auf... bin mir auch ziemlich sicher, dass ich es ebenso mit SaveToFile irgendwann mal hinbekommen hatte :?
procedure TCustomSynMacroRecorder.SaveToStream(aDest: TStream);
var cEvent, eCnt : integer; begin eCnt := EventCount; aDest.Write(eCnt, sizeof(eCnt)); //<--- an dieser Stelle genau for cEvent := 0 to eCnt -1 do Events[ cEvent ].SaveToStream( aDest ); end; |
Re: TSynEdit & TSynMacroRecorder
Ah, es könnte natürlich auch sein, dass ich
macro.Editor := SynEdit1; Dabei erscheint jedoch auch ein Fehler. Schon wenn ich zu Entwurfszeit dieses Property an der Komponente ändern will erscheint: ![]() Dubios. Leider gibt es keine Dokumentation und eine Demo für Makros ist ja auch nicht vorhanden. :( |
Re: TSynEdit & TSynMacroRecorder
Fehler gefunden:
Nachdem ich SynEdit 2.0.6 installiert habe, trat der Fehler zwar immernoch auf, da seh ich aber, dass immernoch im Fehler text 2_0_5 steht. Hab also die Komponente des MakorRecorder von der Form gelöscht, neu draufgehauen und siehe da, ich konnte es nun zuweisen via macro.Editor := SynEdit; Nun funktioniert das Speichern auch wieder via SaveToFile. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz