Hi,
ich hab ein dbMemoFeld, verbunden mit einer TDataSource, das wiederum verbunden
mit ein TZQuery.
Per Doppelklick wird ReadOnly von dem Memo auf True gesetzt, damit der Anwender
Daten bearbeiten kann.
Beim Ereignis "OnExit" wird der Speichervorgang der Daten wie folgt ausgelöst:
Delphi-Quellcode:
db_memo.ReadOnly := True; // nur zu Sicherheit
db_memo.Color := clWindow; // optische Rückmeldung
db_benutzer.ReadOnly := True; // da wird auch was abgelegt
q_Firmentxt.Edit;
q_Firmentxt.FieldByName('benutzer').Value := username;
q_Firmentxt.FieldByName('m1').Value := db_memo.Text;
q_Firmentxt.Post;
q_Firmentxt.SQL.Text := 'SELECT * FROM b_firmentext ' +
' WHERE firmencode LIKE ' + QuotedStr(db_firmencode.Text);
q_Firmentxt.Open;
gr_firmentext.SetFocus;
tb_saveMemo.Enabled := False; // ein externer Speicherbutton wird deaktiviert
nun passiert folgendes:
Doppelklick auf das MemoFeld, ich gebe Daten ein - dann per Tab raus aus dem Feld - das Speicherereignis wird ausgelöst. Und dann sollte eigentlich aktualisiert werden. Doch was macht die Komponente? Zeigt mir den vorherigen Inhalt des Feldes an! Wie darf ich das verstehen? Gibts da noch einen Cache zwischendurch?