TListView Probleme beim Selektieren

Für Fragen von Einsteigern und Programmieranfängern...
Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: TListView Probleme beim Selektieren

Beitrag von Michl »

Dann wäre es auf jeden Fall schön, wenn du dieses Problem in einem Minimalbsp. zusammenpacken könntest und im Bug-Tracker postest, mit der entsprechenden Erklärung, wo, wie, was, unter welcher Plattform passiert!

Evtl. gibts hier ja auch noch andere Nutzer, die sich das Problem einmal anschauen und den Fehler unter Kubuntu bzw Debian bestätigen/nicht bestätigen können?!

Die Lösung, das "Selected" auszuwerten, bei

Code: Alles auswählen

procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;  Selected: Boolean);
begin
  if Selected then ...;
nützt dir nichts???

Code: Alles auswählen

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

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

Re: TListView Probleme beim Selektieren

Beitrag von Michl »

Hast du eingentlich mal das Bsp. vom Bug-Tracker probiert?!

Müsste auf der Console sowas bei rauskommen:
OnSelectItem: Item0 Selected: TRUE
.
OnSelectItem: Item0 Selected: FALSE
.
OnSelectItem: Item1 Selected: TRUE
.
OnSelectItem: Item1 Selected: FALSE
.
OnSelectItem: Item2 Selected: TRUE
.

Ich habe mal ein Minimalbsp. gemacht, das sollte eigentlich funktionieren (zumindest bei mir läufts ohne Probleme, TRUE und FALSE wechseln sich immer schön miteinander ab)!

Kannst du das mal testen und sagen, ob sich beim Wechsel des Styles sich das Verhalten ändert?!

Evtl. kann das ja auch mal jemand unter einem aktuellen Trunk von Lazarus unter Kubuntu bzw. Debian ausprobieren?!
Dateianhänge
Minimalbsp.zip
(126.05 KiB) 78-mal heruntergeladen
Zuletzt geändert von Michl am Do 5. Sep 2013, 20:38, insgesamt 1-mal geändert.

Code: Alles auswählen

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

jscnetcore
Beiträge: 19
Registriert: Mi 31. Jul 2013, 11:34
OS, Lazarus, FPC: Debian Squeeze Linux (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: TListView Probleme beim Selektieren

Beitrag von jscnetcore »

Ich habe jetzt mal das Minimalbespiel ausprobiert.

Die Fehler passieren nur bei Multiselect := true und vsIcon bzw. vsSmallIcon.

Wenn ich hierbei bei gedrückter Strg Taste anfange zu selektieren und zwar in aufsteigender Richtung passt alles.
sieht das auf der Konsole so aus
OnSelectItem: Item2 Selected: TRUE
OnSelectItem: Item4 Selected: TRUE
OnSelectItem: Item5 Selected: TRUE
OnSelectItem: Item11 Selected: TRUE
OnSelectItem: Item12 Selected: TRUE

Starte ich das Programm neu und fange beim 19. Item an schreibt er IMMER
OnSelectItem: Item19 Selected: TRUE

Egal ob ich hierbei ein Item selektiere oder deselektiere, es steht immer Item19 Selected: TRUE
Es wird niemals auch nur eines der Items dabei auf FALSE gesetzt. Selbst dann nicht, wenn ich nur ein einziges auswähle und bei gedrückter STRG Taste wie wild darauf herum klicke.

In aufsteigender Richtung passt es, sobald man ein Item < dem letzten selektierten auswählt behält er sich immer das letzte, höchste Item.
Kompliziert ausgedrückt, oder :wink:

Könnte man das in dieser Art und Weise im Bug Tracker melden?

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

Re: TListView Probleme beim Selektieren

Beitrag von Michl »

Ich kann nur immer wieder sagen, dass das bei mir ordentlich läuft (nutze ja auch ein anderes System), auch mit Item19!

Daher nochmal mein Aufruf, ob jemand dieses Verhalten bestätigen bzw. nicht bestätigen kann, dass bei einem aktuellen Trunk von Lazarus das Minimalbeispiel unter einer Linux-Distribution nicht funktioniert?!

Speziell geht es darum, ob im Minimalbsp., Item No. 19 ordentlich selected bzw. unselectet werden kann (Hab das Bsp. nochmal entsprechend aktualisiert).

Würde ggf. entsprechend den Bugtracker in Kenntniss setzen, aber nicht nochmal unnötig die Pferde scheu machen wollen.

Code: Alles auswählen

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

jscnetcore
Beiträge: 19
Registriert: Mi 31. Jul 2013, 11:34
OS, Lazarus, FPC: Debian Squeeze Linux (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: TListView Probleme beim Selektieren

Beitrag von jscnetcore »

scheinbar scheint niemand von Euch unter Linux zu programmieren?!?! :(
Ich habe mal einen Mitschnitt als mp4 Datei erstellt, an dem man das Problem schön sehen kann.
Leider werden hier keine mp4 Anhänge akzeptiert.

Wie könnte ich Euch das mal zugänglich machen?

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: TListView Probleme beim Selektieren

Beitrag von theo »

jscnetcore hat geschrieben:scheinbar scheint niemand von Euch unter Linux zu programmieren?!?! :(
Ich programmiere schon unter Linux, aber das ListView kapselt das gleichnamige MS Windows Control, was unter anderen Systemen (nativ) offenbar nicht 1:1 umsetzbar ist, deshalb verwende ich es nie.

jscnetcore
Beiträge: 19
Registriert: Mi 31. Jul 2013, 11:34
OS, Lazarus, FPC: Debian Squeeze Linux (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: TListView Probleme beim Selektieren

Beitrag von jscnetcore »

...ok?! Dann ist es wohl mit der Entwicklung einer Anwendung für beide Welten (Windows/Linux) nicht weit her.
Wenn manche Dinge einfach nicht funktionieren benutzt man sie nicht?

An dem ListView gibts ja noch andere Dinge, die nicht so schön sind, z.B. das plazieren des Textes unterm Bild.Habe ich schon in
Foreneinträgen aus 2009 gelesen.....

was nimmmt man anstelle ListView, was in beiden Welten läuft, ausser selbser machen?

wp_xyz
Beiträge: 5153
Registriert: Fr 8. Apr 2011, 09:01

Re: TListView Probleme beim Selektieren

Beitrag von wp_xyz »

was nimmmt man anstelle ListView, was in beiden Welten läuft, ausser selbser machen?
Offenbar hast du meinen Beitrag vom 5.September nicht gelesen...

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: TListView Probleme beim Selektieren

Beitrag von theo »

jscnetcore hat geschrieben: was nimmmt man anstelle ListView, was in beiden Welten läuft, ausser selbser machen?
Für deinen Zweck wäre vllt. mein Thumbnail Viewer als Grundlage wirklich ganz brauchbar:
http://www.lazarusforum.de/viewtopic.ph ... =thumbview

Sonst evtl. noch VirtualTreeView http://sourceforge.net/projects/lazarus ... 20Port%29/

jscnetcore
Beiträge: 19
Registriert: Mi 31. Jul 2013, 11:34
OS, Lazarus, FPC: Debian Squeeze Linux (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: TListView Probleme beim Selektieren

Beitrag von jscnetcore »

wp_xyz hat geschrieben:
was nimmmt man anstelle ListView, was in beiden Welten läuft, ausser selbser machen?
Offenbar hast du meinen Beitrag vom 5.September nicht gelesen...
Doch, den hab ich gelesen, habs nur noch nicht ausprobiert.

Theos ThumbView ist schon eine klasse Grundlage und gefällt mir sehr gut.
Multiselect wäre für mich noch sehr wichtig.
Mal sehen ob ich es hinbekomme dort eine Multiselect Auswahl reinzupacken?

Ich denke mir fehlt da noich einiges an Wissen, aber ich bin optimistisch!

Danke an Euch alle für Eure Hilfe

Antworten