Einzelnen Beitrag anzeigen

schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#3

AW: String aus SynEdit wird nicht übernommen, warum?

  Alt 27. Apr 2013, 22:21
Delphi-Quellcode:
var IEditor: TIEditReader; //Unit EditIntf -> aus Turbo Delphi

procedure TMySynEdit.HandleChange(Sender: TObject);
begin
  IEditor.GetText(SelStart,TestBuffer, SelEnd-SelStart);
  ShowMessage(StrPas(TestBuffer));
end;
ShowMessage() zeigt keinen Text an
Und wenn Du stattdessen ShowMessage(String(TestBuffer)) verwendest?
Danke erst mal wie verrückt für die Antwort.

Aber leider Nein...

In der Interface-Methode habe ich für String(Buffer) eine Fehlermeldung vom Compiler erhalten.

Für String(Buffer) := MySynEdit.SelText;

Auch Buffer := MySynEdit.SelText hilft nicht weiter. Zuweisung nicht möglich.

Und wenn ich Buffer := PChar(MySynEdit.SelText) sage, kommt kein Fehler, aber ich erhalte auch den Text nicht.

Sollte das an SynEdit liegen?

Nur, wie kopiert MySynedit dann ausgewählten Text in die Zwischenablage. Müsste doch nach meinem bisherigen Quelltextverständnis von SynEdit dann auch MySynEdit.SelText sein.

Wenn ich Statt Selstart die Zahl 1 und für Count irgendeine Länge eingebe, klappt es auch nicht und es klappt auch nicht, wenn ich Text selektiere und anschließend kopiere. Auch nicht, wenn ich nach dem Selektieren neuen Text schreibe. Das ShowMessage() Fenster bleibt leer.

Mit:
Delphi-Quellcode:
MySynEdit.SelStart := Position;
MySynEdit.SelEnd := Count-Position;
will ich erreichen, das der Text ab Position bis Count-Position als Selektierter Text interpretiert wird, um ihn laufend zu erhalten, damit er bei Aufruf der Methode verfügbar ist.


Wo ist da bloß mein Denkfehler?

.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.

Geändert von schöni (27. Apr 2013 um 22:26 Uhr)
  Mit Zitat antworten Zitat