Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
MmVisual
Beiträge: 1466
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Beitrag von MmVisual »

Hallo,

Ich habe ein keines Test-Projekt geschrieben. Darin ein TMemDataset, da werden zum Test zwei Datensätze hinzugefügt und dann geht es los:

- Klick in die Tabelle in den Datensatz "Zeile 2"
- Klick auf den TSpeedButton macht ein Append
- Klick in das TDBEdit Feld

Dann sorgt der TDBGrid für einen Cancel und man kann keinen Datensatz hinzufügen. Ich meine, wenn man auf das TDBEdit klickt, so verlässt das TDBGrid den Focus und das erzeugt den Cancel. :(

Kann ich das irgendwie umgehen? - Eine andere Taste als TSpeedButton kann ich nicht verwenden, das wäre ein sehr großer Aufwand mein ganzes Projekt um zu stellen.

Am besten wäre es, wenn man den Quellcode vom TDBGrid korrigiert.

Anbei das Demo-Projekt.
Grüße Markus.
Dateianhänge
TDBGridTest.zip
(125.78 KiB) 72-mal heruntergeladen
EleLa - Elektronik Lagerverwaltung - www.elela.de

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Beitrag von hde »

Hallo Markus,

warum nimmts du nicht SQLite wie sonst auch und setzt Database ins memory?

Gruß hde

MmVisual
Beiträge: 1466
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Beitrag von MmVisual »

Ich nehme natürlich eine TZQuery in meinem Original Programm. Die mit SQLite, MySql, MsSQL und PostgreSql. In dem Beispiel hatte ich nur die TMemoryDataset verwendet um auch nach zu weisen dass es nicht an Zeos liegt. (mit Zeos und den anderen DB's ist der Effekt der gleiche.)
EleLa - Elektronik Lagerverwaltung - www.elela.de

MmVisual
Beiträge: 1466
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Beitrag von MmVisual »

Ich habe ein Bugreport geschrieben:
http://bugs.freepascal.org/view.php?id=26658
EleLa - Elektronik Lagerverwaltung - www.elela.de

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Beitrag von Michl »

Eigentlich müsste es reichen, die Option dgCancelOnExit von DBGrid auf false zu setzen.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

MmVisual
Beiträge: 1466
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Beitrag von MmVisual »

Ja, dann klappt es.

Dann hat wohl irgend wer zwischen LCL 1.0.xxx >>> LCL 1.2.4 diese Option in den Default Parametern heimlich gesetzt. Ich schreibe das im Bugreport dazu, dass dieser Parameter als Defaultwert "FALSE" sein sollte.
EleLa - Elektronik Lagerverwaltung - www.elela.de

MmVisual
Beiträge: 1466
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Beitrag von MmVisual »

PS mein Workaround:

Code: Alles auswählen

Var co: TComponent;
  for co in Self do
    if co is TDBGrid then
      TDBGrid(co).Options := TDBGrid(co).Options - [dgCancelOnExit];
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antworten