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 Listview zeichnet Eintrag der nicht da ist??????? (https://www.delphipraxis.net/101256-listview-zeichnet-eintrag-der-nicht-da-ist.html)

bingo72 10. Okt 2007 14:34


Listview zeichnet Eintrag der nicht da ist???????
 
Hallo Experten!! Heute wende ich mich mit einem mysteriösen Verhalten meiner ListView an euch!!

Ok:

Ich öffne eine Combobox, deren Fenster in eine Listview ragt und selektiere einen Eintrag mit Doppelklick:
http://www.bos.at/downloads/Listview1.jpg

Und danach hab ich den Eintrag in der Listview stehen, obwohl der Eintrag eigentlich nicht in der Listview stehen dürfte:
http://www.bos.at/downloads/Listview2.jpg

Wenn ich im OnCustomDrawItem nachsehe, wird der Eintrag aus der Combobox auch tatsächlich als Item der Listview geführt??!! :wall:
Wenn ich das Fenster kurz ziehe, dann verschwindet der Eintrag auch wieder??!!

Was ist die Ursache ??
Bitte um Hilfe!!

LG
Thomas

Bernhard Geyer 10. Okt 2007 14:35

Re: Listview zeichnet Eintrag der nicht da ist???????
 
Ich Tippe darauf das dein Code irgendwas falsch machst.
Aber solange du ihn uns nicht zeigst (als komplettes Test-Projekt) sag ich mal Zeile 127 ist falsch.

bingo72 10. Okt 2007 14:56

Re: Listview zeichnet Eintrag der nicht da ist???????
 
Leider handelt es sich dabei um selbergemachte Tools...die schon oft zum Einsatz kamen und mit einer DB kommunizieren.
Ich habe diesen Fall dennoch reingestellt, weil ich der Überzeugung bin, daß es sich hier um einen generellen Fehler im Zusammenhang der Combo-Box und der Listview handelt!!

Was ich aber sagen kann, daß ich den Text des ausgewählten Items in der CB darstelle und danach der DB die Anzahl der DS anzeigen lasse...daß war es eigentlich schon.
Ich frage mich, warum eine Listview, ein Item welches durch eine überblendete CB zum Vorschein kommt... übernimmt??

Bernhard Geyer 10. Okt 2007 14:58

Re: Listview zeichnet Eintrag der nicht da ist???????
 
Glaube ich nicht das es ein generelles Problem ist. ich denke her das im OnCustomDrawItem das Problem begraben ist.

bingo72 10. Okt 2007 15:04

Re: Listview zeichnet Eintrag der nicht da ist???????
 
Vielen Dank für Deine Tipps...ich hab im OnCustomDrawItem bzw. OnCustomDrawSubItem nur gerade bzw. ungerade Zeilen in unterschiedlicher Farbe einfärben lassen. Als nächsten Test, hab ich mal komplett diese Methodenaufrufe zum Neuzeichnen der Zeilen auskommentiert...er macht es aber trotzdem. Fürs erste geh ich mal in die DB und checke ob überhaupt DS für die Anzeige zur Verfügung stehen und wenn nicht, dann mach ich halt einen Listview.Items.Clear...so gehts dann, obwohl ich mir das Phänomen nicht erklären kann??!!

marabu 10. Okt 2007 16:22

Re: Listview zeichnet Eintrag der nicht da ist???????
 
Hallo Thomas,

verpasse deiner ListView mal einen Event-Handler für OnInsert() und setze einen Breakpoint hinein. Sobald dein ominöses Item aufgenommen wird müsste der Code beim Breakpoint angehalten werden. Wenn du dir dann den Call-Stack anschaust, dann solltest du sehen, wann und warum das Item in deine Listview aufgenommen wird.

Grüße vom marabu

bingo72 11. Okt 2007 12:44

Re: Listview zeichnet Eintrag der nicht da ist???????
 
Habe durch den Tipp vom Marabu das Problem lösen können...war ein interner Fehler meinerseits bei der Sourcenzuteilung der Controls...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 Uhr.

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