ListView MousUp

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

Re: ListView MousUp

Beitragvon Michl » 1. Feb 2016, 23:31 Re: ListView MousUp

Mathias hat geschrieben:Ich habe mir das Programm nochmal angeguckt.

Wen ich die Exe des Project unter Linux mit Wine starte, dann läuft es wie gewünscht.
Starte ich aber die Exe unter WinXP, läuft in der VirtualBox, dann ist der Fehler immer noch feststellbar.
So wie es aussieht, ist das kein Problem von Lazarus, sondern von Windows.

Ich habe das Programm mit Lazarus 1.6, FPC 3.0 frisch kompiliert.
Kannst du das nochmal testen? Der Fix wurde in Lazarus Trunk 51471 eingepflegt. Meine Tests haben hier soweit gepasst. Ich hoffe bei dir auch?! Siehe http://bugs.freepascal.org/view.php?id=27189
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2325
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 Mathias » 2. Feb 2016, 17:23 Re: ListView MousUp

Unter Windows habe ich keine Trunk-Version von Lazarus.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4350
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon thosch » 5. Okt 2017, 12:38 Re: ListView MousUp

Mathias hat geschrieben:Ich habe folgenden Code:

Code: Alles auswählen
procedure TForm1.ListView1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: integer);
begin
  if Button = mbRight then begin
    Writeln('ListView');
  end;
end;
 
procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: integer);
begin
  if Button = mbRight then begin
    Writeln('TreeView');
  end;
end;
 
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: integer);
begin
  if Button = mbRight then begin
    Writeln('Form');
  end;
end;


Bei Form und TreeView wird Writeln nur aufgerufen, wen man die Maustaste loslässt, dies währe richtig.
Aber bei ListView wird Writeln auch beim drücken der Maustaste aufgerufen.

Ist nachvollziehbar bei Version 1.2RC2 und 1.3, beide Windows

Unter Linux funktionieren alle 3 richtig.


Ich wollte hier eigentlich bloß mitlesen, aber angesichts des schrecklichen Codedesigns kann ich das nicht.

Writeln() in der GUI??????


Wie geht das?
thosch
 
Beiträge: 163
Registriert: 10. Jul 2017, 19:32

Beitragvon wp_xyz » 5. Okt 2017, 13:21 Re: ListView MousUp

In den Projekteinstellungen unter "Konfiguration und Ziele" > "Zielbetriebssystemspezifische Einstellungen" das Häkchen vor "Win32 GUI Anwendung" entfernen.
wp_xyz
 
Beiträge: 3004
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 5. Okt 2017, 16:53 Re: ListView MousUp

Ich wollte hier eigentlich bloß mitlesen, aber angesichts des schrecklichen Codedesigns kann ich das nicht.

In der Praxis macht man so etwas nicht, aber hier ging es um MausUp.
Man hätte auch viel komplizierter in ein Memo schreiben können.

Nachtrag:
Ich habe den Code gerade nochmals getestet, so wie es scheint, ist die in der neusten Trunk behoben, zumindest unter Liunx.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4350
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

• Themenende •
Vorherige

Zurück zu Lazarus - Bugs



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried