AGB  ·  Datenschutz  ·  Impressum  







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

TSynEdit & TSynMacroRecorder

Ein Thema von TypusMensch · begonnen am 12. Mär 2008 · letzter Beitrag vom 13. Mär 2008
Antwort Antwort
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#1

TSynEdit & TSynMacroRecorder

  Alt 12. Mär 2008, 02:44
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):
macro.RecordMacro(SynEdit1); Makroaufnahme stoppen (via Button):
Delphi-Quellcode:
macro.Stop;
macro.SaveToFile('c:\test.mak');
...funktioniert leider nicht.

Wenn ich das Makro später starten/aufrufen will:
Delphi-Quellcode:
macro.LoadFromFile('c:\test.mak');
macro.PlaybackMacro(SynEdit1);
... dann macht er gar nix.

Ö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
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: TSynEdit & TSynMacroRecorder

  Alt 12. Mär 2008, 05:44
Hallo,

Nimm diese Funktionen:

Delphi-Quellcode:
    
procedure LoadFromStream(aSrc: TStream);
procedure LoadFromStreamEx(aSrc: TStream; aClear: boolean);
procedure SaveToStream(aDest: TStream);
Thomas
  Mit Zitat antworten Zitat
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: TSynEdit & TSynMacroRecorder

  Alt 12. Mär 2008, 14:20
Dann tritt hier ein Laufzeitfehler auf:
Delphi-Quellcode:
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;
Ich vermute, er nimmt gar nicht wirklich auf... bin mir auch ziemlich sicher, dass ich es ebenso mit SaveToFile irgendwann mal hinbekommen hatte
  Mit Zitat antworten Zitat
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: TSynEdit & TSynMacroRecorder

  Alt 12. Mär 2008, 14:27
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:
http://img291.imageshack.us/img291/698/errrored8.jpg

Dubios. Leider gibt es keine Dokumentation und eine Demo für Makros ist ja auch nicht vorhanden.
  Mit Zitat antworten Zitat
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: TSynEdit & TSynMacroRecorder

  Alt 13. Mär 2008, 10:44
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.
  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 02:26 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