Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.

Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Beitragvon MmVisual » 31. Aug 2014, 09:37 Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

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) 13-mal heruntergeladen
MmVisual
 
Beiträge: 1109
Registriert: 10. Okt 2008, 22:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3) | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon hde » 31. Aug 2014, 11:40 Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Hallo Markus,

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

Gruß hde
hde
 
Beiträge: 556
Registriert: 11. Aug 2010, 01:56

Beitragvon MmVisual » 31. Aug 2014, 11:44 Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

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.)
MmVisual
 
Beiträge: 1109
Registriert: 10. Okt 2008, 22:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3) | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon MmVisual » 31. Aug 2014, 13:08 Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

Ich habe ein Bugreport geschrieben:
http://bugs.freepascal.org/view.php?id=26658
MmVisual
 
Beiträge: 1109
Registriert: 10. Okt 2008, 22:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3) | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon Michl » 31. Aug 2014, 13:17 Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

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; 
Michl
 
Beiträge: 2330
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon MmVisual » 31. Aug 2014, 13:24 Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

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.
MmVisual
 
Beiträge: 1109
Registriert: 10. Okt 2008, 22:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3) | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon MmVisual » 31. Aug 2014, 17:07 Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append

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];
MmVisual
 
Beiträge: 1109
Registriert: 10. Okt 2008, 22:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3) | 
CPU-Target: 32/64Bit
Nach oben

• Themenende •

Zurück zu Lazarus - Bugs



Wer ist online?

Mitglieder in diesem Forum: MSN [Bot] und 1 Gast

porpoises-institution
accuracy-worried