TTimeEdit Linux keine Minutenauswahl möglich
TTimeEdit Linux keine Minutenauswahl möglich
Hi,
kann bitte jemand bestätigen, ob die Minuten Auswahl bei einem TTimeEdit (Misc) funktioniert, oder eben auch nicht...
Unter Windows verhält sich diese Komponente ok, unter Linux kann man weder den Focus in den Minuten verändern, noch Minuten auswählen.
Danke
kann bitte jemand bestätigen, ob die Minuten Auswahl bei einem TTimeEdit (Misc) funktioniert, oder eben auch nicht...
Unter Windows verhält sich diese Komponente ok, unter Linux kann man weder den Focus in den Minuten verändern, noch Minuten auswählen.
Danke
Gruß, Michael
Re: TTimeEdit Linux keine Minutenauswahl möglich
Kann ich nicht bestätigen. Hab Lubuntu und Manjaro Linux getestet.
Übrigens: du sprichst von "Minuten-Auswahl". TTimeEdit hat nur einen normal Cursor wie in jedem TEdit, der überall hin platziert werden kann. Meinst du etwa das Verhalten von TDateTimePicker, bei dem nach einem Klick in den Minuten-Bereich alle Minuten markiert sind und mit den Pfeiltasten oder dem Mausrad rauf- und runtergefahren werden können? TTimeEdit kann das nicht.
Übrigens: du sprichst von "Minuten-Auswahl". TTimeEdit hat nur einen normal Cursor wie in jedem TEdit, der überall hin platziert werden kann. Meinst du etwa das Verhalten von TDateTimePicker, bei dem nach einem Klick in den Minuten-Bereich alle Minuten markiert sind und mit den Pfeiltasten oder dem Mausrad rauf- und runtergefahren werden können? TTimeEdit kann das nicht.
Re: TTimeEdit Linux keine Minutenauswahl möglich
Relativ einfach, was ich mir vorstelle:
Ich klicke auf das Uhr Symbol und dann auf einen Minuten Eintrag und erwarte, dass die Minuten/Stunden übernommen werden und sich die Auswahl schließt.
Geht aber nicht. Der hinterlegte dunkelgrauere Focus verschiebt sich nicht beim Anklicken und eine Klicken auf ein Minutenfeld hat NULL Auswirkung.
Ich klicke auf das Uhr Symbol und dann auf einen Minuten Eintrag und erwarte, dass die Minuten/Stunden übernommen werden und sich die Auswahl schließt.
Geht aber nicht. Der hinterlegte dunkelgrauere Focus verschiebt sich nicht beim Anklicken und eine Klicken auf ein Minutenfeld hat NULL Auswirkung.
Gruß, Michael
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2636
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: TTimeEdit Linux keine Minutenauswahl möglich
Doppelklick auf die Minute schließt und übernimmt die Werte.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: TTimeEdit Linux keine Minutenauswahl möglich
ja, so hätte ich mir das auch vorgestellt... geht aber eben NICHT! Darum frage ich ja hier mal leise nach...
Ich habe auch einen neuen TTimeEdit aufs Formular geworfen um auszuschließen, dass ich etwas falsch eingestellt habe...
Die Minuten sind praktisch gesperrt und reagieren überhaupt nicht.
LAZ 2.0.6 FPC 3.0.4 Debian10/x86
ach ja und: bei den Stunden funktioniert es!
Ich habe auch einen neuen TTimeEdit aufs Formular geworfen um auszuschließen, dass ich etwas falsch eingestellt habe...
Die Minuten sind praktisch gesperrt und reagieren überhaupt nicht.
LAZ 2.0.6 FPC 3.0.4 Debian10/x86
ach ja und: bei den Stunden funktioniert es!
Gruß, Michael
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2636
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: TTimeEdit Linux keine Minutenauswahl möglich
six1 hat geschrieben:Geht aber nicht. Der hinterlegte dunkelgrauere Focus verschiebt sich nicht beim Anklicken und eine Klicken auf ein Minutenfeld hat NULL Auswirkung.
Das ist dann in der Tat ein Bug. Was passiert wenn du ein neues, leeres Projekt machst und da nur eine TTimeEdit drauf packst?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: TTimeEdit Linux keine Minutenauswahl möglich
ok, jetzt habe ich keine Ahnung, woher das kommt.
Mit einem neuen Projekt mit TTimeEdit drauf geht es...
In meinem Projekt nicht. (hat mal locker 40.000 Zeilen...)
also gehe ich mal auf die Suche...
Mit einem neuen Projekt mit TTimeEdit drauf geht es...
In meinem Projekt nicht. (hat mal locker 40.000 Zeilen...)
also gehe ich mal auf die Suche...
Gruß, Michael
Re: TTimeEdit Linux keine Minutenauswahl möglich
Das ist wirklich seltsam:
Ich habe drei von diesen TTimeEdit in der Form.
Alle drei bekommen nur Werte aus einer Ini Datei bzw beim Schließen der Form werden deren Werte in die Ini geschrieben.
Nirgendwo im Programm ist ein weiterer Bezug zu diesen Komponenten; auch kein findcomponent...
In der Uses Klausel habe ich EditBtn schon weit nach oben geschoben; schiere Verzweiflungstat
Ich habe drei von diesen TTimeEdit in der Form.
Alle drei bekommen nur Werte aus einer Ini Datei bzw beim Schließen der Form werden deren Werte in die Ini geschrieben.
Nirgendwo im Programm ist ein weiterer Bezug zu diesen Komponenten; auch kein findcomponent...
In der Uses Klausel habe ich EditBtn schon weit nach oben geschoben; schiere Verzweiflungstat
Gruß, Michael
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2636
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: TTimeEdit Linux keine Minutenauswahl möglich
Kopie vom Programm machen und nach und nach alle anderen Komponenten und Quellcode entfernen. Kann ja auch sein, dass irgendetwas den Fokus klaut oder so.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: TTimeEdit Linux keine Minutenauswahl möglich
da sind über 900 Komponenten... no go
Ich glaube da eher daran, dass ich eine eigene Uhrzeitauswahl stricke
Ich glaube da eher daran, dass ich eine eigene Uhrzeitauswahl stricke
Gruß, Michael
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2636
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: TTimeEdit Linux keine Minutenauswahl möglich
Über 900 Komponenten auf einem Form? Nimm es mir nicht übel, aber dass dann etwas schiefgeht ist nicht so verwunderlich.
Eine eigene Zeiteingabemethode mag dann funktionieren, aber ich hätte immer Sorge, dass irgendwas anderes im Hintergrund lauert.
Eine eigene Zeiteingabemethode mag dann funktionieren, aber ich hätte immer Sorge, dass irgendwas anderes im Hintergrund lauert.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 1908
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: TTimeEdit Linux keine Minutenauswahl möglich
six1 hat geschrieben::shock: da sind über 900 Komponenten... no go
Das sind vielleicht ein bisschen viele. Wenn jede komponente mit jeder interagieren kann (was sie ja können, da es für jede komponente a und a' mindestens die interaktion a.focused -> a'.focused gibt, wo wir eh vom focus reden) gilt dann das die anzahl an möglichen interaktionen exponentiell wächst.
Einfache induktion, mit 0 komponenten hast du 1 state. Wenn du jetzt eine komponente C hinzufügst, und wir nur die fukus beziehung betrachten, kommt für jeden bisherigen state S der state S->C.focused hinzu, also erhöht sich die anzahl der states um genau das was sie vorher war, also um faktor 2. Also #S(#C + 1) = #S(#C) * 2. Mit dem fakt das wir mit 1 state anfangen ergibt sich also #S(#C) = 2 ^ #C.
Für 900 komponenten also 2^900 = 8.452712e+270, das ist ne 8 mit 270 nullen hinten dran. Das ist die anzahl der fehlerquellen durch so viele komponenten die miteinander in beziehung stehen (allein da durch das sie auf der selben form sitzen)
Es hat einen grund warum man normalerweise versucht software komponenten möglichst klein und abgekapselt zu haben. Z.B. durch subkomponenten. Das einfachste in Lazarus dafür ist Frames mit sehr schmalen schnittstellen. Man denkt da oft nicht so drüber nach, aber Code wird exponentiell komplizierter (und damit auch fehleranfälliger) je größer er wird. Der einzige weg das in den griff zu bekommen ist modularisierung. Zwei module haben nur halb so viel komplexität wie ein doppelt so großes, obwohl die anzahl an Code Zeilen identisch sein mag, oder bei den zwei modulen sogar mehr ist.
Aber, zum fehler finden musst du ja nicht jede komponente einzeln löschen. Binärsuche ist das Zauberwort. Kopiere dein projekt, und lösche die hälfte aller komponenten raus. Tritt der fehler nicht mehr auf stell den vorrigen state wieder her und lösch die andere hälfte raus. In der hälfte die über bleibt machst du dann das selbe. Im ersten schritt hast du dann nur noch 450 komponenten, im zweiten 225, im dritten 112, im vierten 56 und so weiter. Nach 10 schritten bist du spätestens durch
Normalerweise sind aber auch komponenten nicht so das problem, sondern wahrscheinlich eher der code. Da kannst du aber genauso vorgehen, isolier die Form in ein separates projekt, und dann beginn indem du die hälfte der Funktionen löschst, und mach dann binärsuche wie mit komponenten beschrieben
six1 hat geschrieben:Ich glaube da eher daran, dass ich eine eigene Uhrzeitauswahl stricke
Damit dir in ein paar wochen das was anderes um die ohren fliegt was die selbe ursache hat?
Re: TTimeEdit Linux keine Minutenauswahl möglich
Ok, soweit war mir das schon klar...
Das Projekt hat aber ansonsten keine "ungewöhnliche Erscheinungen" oder "Verselbststädigungen". Alles läuft wie vorgesehen.
Ich habe auch ein Exception Catch auf die Application und kann keine Fehler festhalten.
Es handelt sich um ein Cross Projekt, welches ich unter X32, X64, Win32, Win64 und Arm32 kompiliere.
Die Probleme tauchen lediglich bei Linux auf...
Das Projekt hat aber ansonsten keine "ungewöhnliche Erscheinungen" oder "Verselbststädigungen". Alles läuft wie vorgesehen.
Ich habe auch ein Exception Catch auf die Application und kann keine Fehler festhalten.
Es handelt sich um ein Cross Projekt, welches ich unter X32, X64, Win32, Win64 und Arm32 kompiliere.
Die Probleme tauchen lediglich bei Linux auf...
Gruß, Michael