TDBMemo Eingabeproblem

Rund um die LCL und andere Komponenten
Antworten
mansch
Beiträge: 13
Registriert: Fr 11. Jun 2010, 17:19

TDBMemo Eingabeproblem

Beitrag von mansch »

Hallo,
ich brauche Hilfe bei einem seltsamen Verhalten der TDBMemo-Komponente. Mein Ziel ist es, in ein Memofeld eine Zeile einzufügen und dann den Cursor dahinter zu setzen, um weiter Angaben machen zu können.
Mit einer einfachen MemoKomponente funktioniert das einwandfrei:
procedure TForm1.Button3Click(Sender: TObject);
begin
with Memo1 do begin
Lines.Insert(0,'blablabla');
SelStart := 10; SelLength := 0;
SetFocus;
end;
end;

Da das Ergebnis aber in einer Tabelle gespeichert werden soll, benutze ich eine TDBMemo-Komponente. Und jetzt passiert folgendes: Sobald ich eine Zeile einfügen will, also die Eingabetaste drücke, verschwindet die eingefügte Zeile (hier: 'blablabla'), manchmal auch bei andere Zeichen.
Ich arbeite mit Lazarus 1.8.4 und habe zu obigem Test das SQLite3Dataset verwendet. Mit ZEOS gab es dasselbe Problem, so dass ich die Komponente im Verdacht habe. Hat jemand einen Lösungshinweis. Dann möchte ich mich jetzt schon bedanken.

Manfred

willi4willi
Lazarusforum e. V.
Beiträge: 136
Registriert: Sa 1. Nov 2008, 18:06
OS, Lazarus, FPC: Windows (10), Linux (debinan) / FPC 3.0.4 / Lazarus 2.0.8
CPU-Target: i386, win64, arm

Re: TDBMemo Eingabeproblem

Beitrag von willi4willi »

Sieht es besser aus, wenn Du soetwas machst:

Code: Alles auswählen

 
  with DBMemo1 do begin
    DataSource.DataSet.Edit;
    Lines.Insert(0,'blablabla');
    DataSource.DataSet.Post;
    SelStart := 10; SelLength := 0;
    SetFocus;
  end;
 


??
Viele Grüße

Willi4Willi

------------

mansch
Beiträge: 13
Registriert: Fr 11. Jun 2010, 17:19

Re: TDBMemo Eingabeproblem

Beitrag von mansch »

Danke willi4willi,

das war's!

Manfred

Antworten