Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Tlistview bug (https://www.delphipraxis.net/76248-tlistview-bug.html)

Baer 31. Aug 2006 22:56


Tlistview bug
 
Hi,

Wie das Topic schon sagt hab ich Probleme mit der Tlistview-Komponente ! und zwar wenn sich eine Zeile mit Strings lehrt und dann erneut mit Strings füllt, bekomm ich einen grauen Balken und die Zeile kann nichtmehr angeklickt werden ! das ganze sieht dann so aus:

http://img465.imageshack.us/img465/93/listviewyd4.png

messie 1. Sep 2006 10:19

Re: Tlistview bug
 
...ein bißchen Code wie Du die Zeilen füllst und leerst wäre nicht schlecht, ebenso die Ereignisroutinen von Deinem Listview.

Grüße, Messie

Baer 1. Sep 2006 16:11

Re: Tlistview bug
 
OKay , so werden die Strings eingefügt:


Delphi-Quellcode:
var
      Li: TListItem;
 begin
 Li := ListView1.Items.Add;
  Li.Caption := Socket.RemoteAddress;

  Li.Data := Socket;
und so entfernt:

Delphi-Quellcode:
Listview1.Items.delete(0);

als Ergeignis hat mein Listview nur nen Popupmenu !
Hab übrigens WinXp Sp2 !

messie 1. Sep 2006 18:12

Re: Tlistview bug
 
TListItem.Data ist ein Pointer, dem übergibst Du aber die Klasse TCustomWinSocket. Bist Du sicher daß das geht? Wie wäre es mit Socket.Data?

Grüße, Messie

Zacherl 1. Sep 2006 18:21

Re: Tlistview bug
 
Oder mit Pointer(Socket)?

Florian

Baer 1. Sep 2006 22:01

Re: Tlistview bug
 
Beides grad probiert, brachte aber leider kein Erfolg ! Soll ich die Eigenschaften meines Listview noch posten ? Das Einfügen und Löschen funktioniert ja auch eigentlich einwandfrei , nur wenn ich denn halt erneut Strings hinzufüge bekomm ich diesen Grauen Balken und die Zeile kann nichtmehr makiert werden ! deswegen glaub ich eigentlich eher das es an irgendeiner Eigenschaft liegt die ich falsch eingestellt hab ! kann aber auch völlig falsch liegen !

Baer 4. Sep 2006 00:24

Re: Tlistview bug
 
Keiner ne idee ? ich bin total am verzweifeln....!?

messie 4. Sep 2006 09:43

Re: Tlistview bug
 
[quote="Baer"]
Delphi-Quellcode:
Listview1.Items.delete(0);
benutzt Du wirklich delete(0)? Die Hilfe hat mir mitgeteilt, daß die Methode delete ein TListItem übergeben haben will. Sicher, weil der dafür reservierte Speicher völlig unterschiedlich sein kann.
Es wäre also denkbar, daß Du Dir mit einem Index das ListItem zurückholen mußt und es erst dann löschen kannst. Nur so wird genau der Speicherplatz freigegeben der von dem Item belegt wurde.

Grüße, Messie

Baer 10. Sep 2006 22:13

Re: Tlistview bug
 
[quote="messie"]
Zitat:

Zitat von Baer
Delphi-Quellcode:
Listview1.Items.delete(0);
benutzt Du wirklich delete(0)? Die Hilfe hat mir mitgeteilt, daß die Methode delete ein TListItem übergeben haben will. Sicher, weil der dafür reservierte Speicher völlig unterschiedlich sein kann.
Es wäre also denkbar, daß Du Dir mit einem Index das ListItem zurückholen mußt und es erst dann löschen kannst. Nur so wird genau der Speicherplatz freigegeben der von dem Item belegt wurde.

Grüße, Messie


In einem anderen Projekt funktioniert das wunderbar ! und ich hab das Löschen jetz mal anders realisiert:
Delphi-Quellcode:
 Li := ListView1.FindCaption(0,inttostr(Socket.SocketHandle),false,true,false);
  if Li <> nil then Li.Delete;
Problem bleibt bestehen !

Baer 11. Sep 2006 17:34

Re: Tlistview bug
 
Bitte haut mich nich aber ich hatte nur vergessen das Listview wieder auf enabled:=true zu setzen ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz