Hallo,
ich habe folgendes Problem.
Ich nutze ein
VCL-Formular mit einer TSQLConnection, einer TSQLQuery, einem TDataSetProvider, einem TClientDataSet und einer TDataSource (zumindest zum Test, in Echt ist's ein bisschen komplizierter).
Dann setze ich ein TDBGrid, das mit der TDataSource verbunden ist.
Gleichzeitig brauche ich noch ein TDBEdit-Feld, das mit einem Feld der gleichen TDataSource verbunden ist und im gleichen Formular "nebendran" steht. Der Wert des Feldes wird also "parallel" im TDBGrid und im TDBEdit angezeigt.
Wenn ich zur Laufzeit im TDBEdit-Feld den Wert ändere, wird automatisch das TClientDataSet in den Edit-Modus versetzt (AutoEdit).
Das Ganze habe ich schon unter Delphi 8 sehr erfolgreich benutzt und es hat immer problemlos geklappt.
Seit der Umstellung auf Delphi 2006 passiert aber folgendes:
Unmittelbar nach dem automatischen Edit verschwindet der Cursor vollständig aus dem TDBEdit-Feld. Vermutlich, weil das Edit irgendwie an die anderen Komponenten (TDBGrid) weitergegeben wurde und der Focus kurzzeitig versetzt wurde. Ich kann zwar im TDBEdit weiterschreiben und die Buchstaben werden auch angezeigt, aber der Cursor blinkt eben nicht mehr und das sieht echt blöd aus.
Ich vermute, dass das Ganze nicht bei TDBEdit passiert, sondern auch bei anderen Eingabefeldern, sobald eine Statusänderung beim TClientDataSet auftritt.
Hat irgendjemand eine Idee, was ich jetzt plötzlich falsch mache, bzw. was bei D2006 anders ist als bei D8.
Vielen Dank