TDBNavigator: Insert ist aktiv im Modus "dsEdit"
TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Hallo zusammen,
Der TDBNavigator Button "Insert" ist aktiv wenn ich im Modus dsEdit bin.
Dies dürfte eigentlich nicht sein, da ich mich ja bereits dazu entschieden habe einen aktuellen Datensatz zu ändern.
Daher meine Fragen:
- Wird eine besondere Einstellung benötigt um dies zu verhindern?
- Liegt dahinter evtl. ein besonderes kalkühl der Entwickler?
- Kann dies ein BUG im Laz. 2.0.12?
- Kann ich dies manuell im Coding ändern?
Kann mich hier jemand "aufschlauen"?
Viele Grüße
Lorca
Der TDBNavigator Button "Insert" ist aktiv wenn ich im Modus dsEdit bin.
Dies dürfte eigentlich nicht sein, da ich mich ja bereits dazu entschieden habe einen aktuellen Datensatz zu ändern.
Daher meine Fragen:
- Wird eine besondere Einstellung benötigt um dies zu verhindern?
- Liegt dahinter evtl. ein besonderes kalkühl der Entwickler?
- Kann dies ein BUG im Laz. 2.0.12?
- Kann ich dies manuell im Coding ändern?
Kann mich hier jemand "aufschlauen"?
Viele Grüße
Lorca
-
- Lazarusforum e. V.
- Beiträge: 77
- Registriert: Sa 26. Mai 2012, 17:31
- OS, Lazarus, FPC: Win 10 (L 2.2.4 x64 FPC 3.2.2)
- CPU-Target: 64Bit
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Über das Verhalten habe ich mich auch schon gewundert...
Auch Back und For sind aktiv...
PS: hier Version 2.2.2
Auch Back und For sind aktiv...
PS: hier Version 2.2.2
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Bitte einen Bugreport schreiben (mit kleiner Test-Anwendung), damit sich jemand der Sache annimmt.
- af0815
- Lazarusforum e. V.
- Beiträge: 5890
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Niederösterreich
- Kontaktdaten:
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Vielleicht die Testanwendung hier mal reinstellen, vor dem Bugreport, vielleicht ist nur was nicht so verknüpft wie es der TDBNavigator gern hätte
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 532
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Ihr braucht kein Bugreport zu schreiben, das ist normales Verhalten von TDBNavigator. Es ist unter Delphi genauso.
Ich habe bei mir dieses Verhalten bis zum letzten Lazarusversion immer geändert und bei Bearbeitungsmodus nur Übernehmen- und Abbrechenknöpfe aktiviert gelassen (Man muss Quelltexte bearbeiten). Obwohl es für den Benutzer gut ist, lohnt es den Aufwand nicht.
Ich habe bei mir dieses Verhalten bis zum letzten Lazarusversion immer geändert und bei Bearbeitungsmodus nur Übernehmen- und Abbrechenknöpfe aktiviert gelassen (Man muss Quelltexte bearbeiten). Obwohl es für den Benutzer gut ist, lohnt es den Aufwand nicht.
- af0815
- Lazarusforum e. V.
- Beiträge: 5890
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Niederösterreich
- Kontaktdaten:
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Ok, ist unter Delphi auch so, ist sowieso das Killerargument. Wenn das Auftaucht so ist jede Diskussion und Bugreport sinnlos.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 555
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 2.2.6
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Schade eigentlich, das sich Lazarus nicht abheben kann gegenüber Delphi.
Es kommt mir so vor als würden die Delphi Leute, die Lazarus Leute dazu Zwingen
genauso schlecht und unangepasst zu sein, wie sie selbst.
Aber ja, mit Delphi kann man ja Geld verdienen mit Lazarus nicht.
Lazarus könnte so viel besser sein.
Es kommt mir so vor als würden die Delphi Leute, die Lazarus Leute dazu Zwingen
genauso schlecht und unangepasst zu sein, wie sie selbst.
Aber ja, mit Delphi kann man ja Geld verdienen mit Lazarus nicht.
Lazarus könnte so viel besser sein.
LG Maik
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
-
- Beiträge: 532
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Falls ihr mal sehen wollt, wie es aussehen würde, dann nimmt meine Änderungen und entpackt es in Lazarus/lcl-Ordner.
Vorher die Dateien lcl/dbctrls.pp und lcl/include/dbcustomnavigator.inc umbenennen, damit ihr die Änderungen rückgängig machen könnt.
Um meine Änderungen zu sehen sucht nach dem Kommentar "soner", ich markiere immer meine Änderungen so, damit ich später weiß, was ich geändert habe.
Es sind zwei andere Eigenschaften wie ContinueAction und LeaveInsertBtnEnabled, die beiden haben mit Edit-Status nichts zu zu tun. Mit LeaveInsertBtnEnabled kann man '+'-Button aktiviert lassen, auch wenn die DB inaktiv ist.
Die beiden Dateien sind aus Lazarus 2.0.11 Revision 64267 (2021-07-17) mit meiner Änderungen.
Vorher die Dateien lcl/dbctrls.pp und lcl/include/dbcustomnavigator.inc umbenennen, damit ihr die Änderungen rückgängig machen könnt.
Um meine Änderungen zu sehen sucht nach dem Kommentar "soner", ich markiere immer meine Änderungen so, damit ich später weiß, was ich geändert habe.
Es sind zwei andere Eigenschaften wie ContinueAction und LeaveInsertBtnEnabled, die beiden haben mit Edit-Status nichts zu zu tun. Mit LeaveInsertBtnEnabled kann man '+'-Button aktiviert lassen, auch wenn die DB inaktiv ist.
Die beiden Dateien sind aus Lazarus 2.0.11 Revision 64267 (2021-07-17) mit meiner Änderungen.
- Dateianhänge
-
dbnavigator-son.zip
- (13.6 KiB) 37-mal heruntergeladen
-
- Lazarusforum e. V.
- Beiträge: 296
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
- CPU-Target: x86_64, i386
- Wohnort: Bayreuth
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Guten Morgen,
ich habe hier aus einem Testreport von einer Anwendung auch mehrere Meldungen, auf unlogisches Verhalten des DBNavigators für User. Den Beschreibungen nach kann ich das nachvollziehen, hab es aber noch nicht ausgetestet. Teile scheinen sich aber auch mit dem hier beschriebenen Verhalten zu decken.
Die Frage ist, wo und wie weit bleibt die Delphi-Kompatibilität, wenn es dann für einen Benutzer nicht mehr nachvollziehbar ist? Oder sollte/muss es eine bessere/logische Lazarus-Komponente geben, welche bewusst auf eine Kompatibilität verzichtet, aber dann definitiv sich so verhält, wie es erwartet wird?
cu tb
ich habe hier aus einem Testreport von einer Anwendung auch mehrere Meldungen, auf unlogisches Verhalten des DBNavigators für User. Den Beschreibungen nach kann ich das nachvollziehen, hab es aber noch nicht ausgetestet. Teile scheinen sich aber auch mit dem hier beschriebenen Verhalten zu decken.
Die Frage ist, wo und wie weit bleibt die Delphi-Kompatibilität, wenn es dann für einen Benutzer nicht mehr nachvollziehbar ist? Oder sollte/muss es eine bessere/logische Lazarus-Komponente geben, welche bewusst auf eine Kompatibilität verzichtet, aber dann definitiv sich so verhält, wie es erwartet wird?
cu tb
Tipp für PostgreSQL: www.pg-forum.de
-
- Lazarusforum e. V.
- Beiträge: 992
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 20.2 Cinnamon / FPC 3.2.2/Lazarus 2.0.12
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Manchmal ist es nicht verständlich, warum man nicht besser sein möchte als Delphi.
Auf Grund der Kompatibilität auf Logik zu verzichten ist bestimmt nicht der beste Weg.
Vielmehr sollte FPC/Lazarus nicht alle Fehler von Delphi kopieren, sondern besser sein.
Gerade bei dem hier beschriebenen Verhalten des DBNavigators stellt es kein technisches
Problem dar, sondern ein logisches.
Was nutzt es, wenn der Anwender verwirrt ist?
Ich verwende den DBNavigator genau aus diesem Grund überhaupt nicht in meinen Projekten.
Das ewige Kompatibilitätsgehabe ist meines Erachtens eine massive Innovationsbremse
und somit absolut kontraproduktiv. Was wäre doch alles möglich, wenn ...

Auf Grund der Kompatibilität auf Logik zu verzichten ist bestimmt nicht der beste Weg.
Vielmehr sollte FPC/Lazarus nicht alle Fehler von Delphi kopieren, sondern besser sein.
Gerade bei dem hier beschriebenen Verhalten des DBNavigators stellt es kein technisches
Problem dar, sondern ein logisches.
Was nutzt es, wenn der Anwender verwirrt ist?
Ich verwende den DBNavigator genau aus diesem Grund überhaupt nicht in meinen Projekten.

Das ewige Kompatibilitätsgehabe ist meines Erachtens eine massive Innovationsbremse
und somit absolut kontraproduktiv. Was wäre doch alles möglich, wenn ...

Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Hallo zusammen,
erst einmal ganz herzlichen Dank für den "Zunami" an Antworten.
OK, ich habe verstanden das es müßig ist, darüber weiter zu reden.
Nur eines, da bin ich dakor mit vielen von Euch:
Mittlerweile sollte LAZARUS den Standard setzen, und Delphi sich nach Lazarus richten.
Wenn man mit Delphi Geld verdienen möchte, und dem gegenüber eine kostenlose Entwicklerplattform zur Verfügung steht, die um ein vielfaches mächtiger ist als Delphi, sollte man sich überlegen was man Falsch macht wenn sich alle für Lazarus entscheiden, und damit viele Tausend Euro sparen.
Aber so sind die meisten Menschen nun einmal. Nur das, was wirklich richtig viel Geld kostet, kann auch nur gut sein. Was kostenlos ist, kann nichts taugen.
Mein Votum: LAZARUS
Gruß
Lorca
erst einmal ganz herzlichen Dank für den "Zunami" an Antworten.

OK, ich habe verstanden das es müßig ist, darüber weiter zu reden.
Nur eines, da bin ich dakor mit vielen von Euch:
Mittlerweile sollte LAZARUS den Standard setzen, und Delphi sich nach Lazarus richten.
Wenn man mit Delphi Geld verdienen möchte, und dem gegenüber eine kostenlose Entwicklerplattform zur Verfügung steht, die um ein vielfaches mächtiger ist als Delphi, sollte man sich überlegen was man Falsch macht wenn sich alle für Lazarus entscheiden, und damit viele Tausend Euro sparen.
Aber so sind die meisten Menschen nun einmal. Nur das, was wirklich richtig viel Geld kostet, kann auch nur gut sein. Was kostenlos ist, kann nichts taugen.
Mein Votum: LAZARUS
Gruß
Lorca
-
- Beiträge: 555
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 2.2.6
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Ja so ist es.
Wenn es wirklich gewollt wäre müsste man aus Lazarus und dem FPC die, ganzen Delphi und auch Turbo Pascal usw., Abhängigkeiten entfernen.
Somit müsste ein Fork entstehen. Aber wer hat dann von dem Entwicklern wirklich Lust 2 Systeme zu pflegen. Ich denke das wird der Grund sein.
Dann können wir nur versuchen die Entwickler zu überzeugen.
Wenn es wirklich gewollt wäre müsste man aus Lazarus und dem FPC die, ganzen Delphi und auch Turbo Pascal usw., Abhängigkeiten entfernen.
Somit müsste ein Fork entstehen. Aber wer hat dann von dem Entwicklern wirklich Lust 2 Systeme zu pflegen. Ich denke das wird der Grund sein.
Dann können wir nur versuchen die Entwickler zu überzeugen.
LG Maik
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
Ihr macht es euch mit der Verteufelung der Delphi-Kompatibilität zu leicht. Wenn Lazarus völlig inkompatibel zu Delphi wäre, dann wäre Lazarus nicht da, wo es heute ist. Wer schon einmal ein Delphi-Projekt nach Lazarus portiert hat, hat schon darüber geflucht, dass die Lazarus-Version nicht kompiliert oder gar abstürzt, weil etwas völlig anders funktioniert.
Natürlich darf die Delphi-Kompatibilität kein Selbstzweck sein. Delphi ist nicht fehlerfrei, und es besteht seitens der Lazarus-Entwicklung kein Zwang, die Fehler zu kopieren. Die Frage ist halt: Was ist ein Fehler? Es gibt Fehler, die sind eindeutig Bugs - und dazu würde ich auch das Verhalten der DBNavigator-Buttons zählen -, und da gibt es keinen Grund, sie nicht zu beheben, auch wenn Delphi sich anders verhält. Dann gibt es Fehler, wo man streiten kann, ob es überhaupt Fehler sind - in diesem Fall wird die Delphi-Kompatibilität häufig als Entscheidungskriterium genommen. Andererseits könnten diese Pseudo-Fehler schon lange in Lazarus existieren, so dass man in Kauf nehmen müsste, bei einer Behebung existierenden Lazarus-Code zu brechen, dann bliebe eine Delphi-Inkompatibilität außer Acht. Es ist eine schwierige Entscheidung, bei der in der Regel immer jemand mit der Lösung unzufrieden ist.
Generell aber, wenn ihr hier schon entscheidet, der Fehler würde wegen des Delphi-Kompatibilitäts-Arguments eh nicht behoben, und ihn deshalb nicht an den Bug-Tracker meldet, wird sich SICHER nichts ändern. Es ist nun mal so, dass die meisten Entwickler nicht im Forum mitlesen, und im deutschen schon gleich gar nicht. Ich selbst könnte es zwar beheben, will mir aber nicht auch noch die DB-Komponenten auf den Rücken binden.
Natürlich darf die Delphi-Kompatibilität kein Selbstzweck sein. Delphi ist nicht fehlerfrei, und es besteht seitens der Lazarus-Entwicklung kein Zwang, die Fehler zu kopieren. Die Frage ist halt: Was ist ein Fehler? Es gibt Fehler, die sind eindeutig Bugs - und dazu würde ich auch das Verhalten der DBNavigator-Buttons zählen -, und da gibt es keinen Grund, sie nicht zu beheben, auch wenn Delphi sich anders verhält. Dann gibt es Fehler, wo man streiten kann, ob es überhaupt Fehler sind - in diesem Fall wird die Delphi-Kompatibilität häufig als Entscheidungskriterium genommen. Andererseits könnten diese Pseudo-Fehler schon lange in Lazarus existieren, so dass man in Kauf nehmen müsste, bei einer Behebung existierenden Lazarus-Code zu brechen, dann bliebe eine Delphi-Inkompatibilität außer Acht. Es ist eine schwierige Entscheidung, bei der in der Regel immer jemand mit der Lösung unzufrieden ist.
Generell aber, wenn ihr hier schon entscheidet, der Fehler würde wegen des Delphi-Kompatibilitäts-Arguments eh nicht behoben, und ihn deshalb nicht an den Bug-Tracker meldet, wird sich SICHER nichts ändern. Es ist nun mal so, dass die meisten Entwickler nicht im Forum mitlesen, und im deutschen schon gleich gar nicht. Ich selbst könnte es zwar beheben, will mir aber nicht auch noch die DB-Komponenten auf den Rücken binden.
Re: TDBNavigator: Insert ist aktiv im Modus "dsEdit"
@wp_xyz; Sehe ich auch so.
Ich kann mir auch vorstellen, dass die "Reparatur" des TDBNavigator ein idealer Fall ist, um direkt einen Patch in den Bugtracker zu legen.
U.u. könnte man das ja konfigurierbar machen in den "Options" (navAutoUpdateButtons oder so), damit es keine Diskussionen über die Kompatibilität gibt.
Ich denke, der Aufwand wäre überschaubar für jemanden, der dieses Problem behoben haben möchte.
Die eigentlichen Lazarus Entwickler sehen da vielleicht nicht so eine Priorität.
Also Patch ab!
Ich kann mir auch vorstellen, dass die "Reparatur" des TDBNavigator ein idealer Fall ist, um direkt einen Patch in den Bugtracker zu legen.
U.u. könnte man das ja konfigurierbar machen in den "Options" (navAutoUpdateButtons oder so), damit es keine Diskussionen über die Kompatibilität gibt.
Ich denke, der Aufwand wäre überschaubar für jemanden, der dieses Problem behoben haben möchte.
Die eigentlichen Lazarus Entwickler sehen da vielleicht nicht so eine Priorität.
Also Patch ab!
