FloatSpinEdit(FSE) Windows vs. Linux

Rund um die LCL und andere Komponenten
Antworten
hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

FloatSpinEdit(FSE) Windows vs. Linux

Beitrag von hubblec4 »

Sorry wenn ich dazu auch nochmal ein Thema eröffne,
aber auch bei dieser Komponente gibt es unterschiede im Verhalten.

Ein Test Progg gibt es hierzu auch.
Das Problem ist, das onChangeEvent wird eben einfach mal so ausgeführt, und das auch gleich zweimal. Ebenso wenn man das FSE verlässt wird die onChange Prozedur ausgeführt.
Unter Windows geht gibt es keine Probleme.
Dateianhänge
FloatSpinEdit.7z
(129.35 KiB) 51-mal heruntergeladen

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

Re: FloatSpinEdit(FSE) Windows vs. Linux

Beitrag von Michl »

Ja, kann ich bestätigen, unter 64bit OpenSuse 42.2 KDE GTK2 mit Lazarus 1.9.0 r54809M FPC 3.0.2 x86_64-linux-gtk2.

Code: Alles auswählen

procedure TForm1.FSE1Change(Sender: TObject);
const
  Cnt: Integer = 0;
var
  aFloat: Double;
begin
  aFloat := FSE1.Value;
  Inc(Cnt);
  Memo1.Text := FormatFloat('0.000000000', aFloat) + ' - Cnt: ' + IntToStr(Cnt);
end;

Unter Windows 7 wird nur einmal OnChange gefeuert. Unter OpenSuse im Edit-Window ein- bis zweimal, mit Tasten hoch/runter 5 mal und mit Pfeiltasten 7 mal.

Das ist mMn ein Eintrag im Bugtracker wert!

Code: Alles auswählen

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

hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

Re: FloatSpinEdit(FSE) Windows vs. Linux

Beitrag von hubblec4 »

Dachte ich es mir doch das es ein Bug ist, denn da ist ja kaum eigener Quellcode der das beeinflussen könnte.

Hast du auch mal getestet das FSE "zu verlassen"? Normal würde ja eine onExit-Prozedure gestartet, aber auch hier wird mehrmals das onChange-Event abgefeuert.

Als Hinweis noch, das gleich passiert mit einem normalen TSpinEdit auch.

u-boot
Beiträge: 306
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: FloatSpinEdit(FSE) Windows vs. Linux

Beitrag von u-boot »

Bevor jemand sich die Mühe nochmal macht. Den Bug gibts im Bugtracker schon, wenn auch noch nicht lange:
https://bugs.freepascal.org/view.php?id=31618
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

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

Re: FloatSpinEdit(FSE) Windows vs. Linux

Beitrag von Michl »

@u-boot: Danke für die Info!

Code: Alles auswählen

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

Antworten