![]() |
Listview - readonly führt zu Zugriffsverletzung?!
Hallo,
Ich habe zwei Forms. Eine aktive Hauptform und eine unsichtbare form2. In Form2 befindet sich ein Listview im vsReport mit 13 Einträgen. Nun weise ich von der hauptform aus den 13 Einträgen in der Listview neue texte für die subitems zu. Dabei ist die Form2 unsichtbar. Wenn ich die listview nicht auf readonly habe, funktioniert das einwandfrei. Stelle ich die listview im objektinspektor auf readonly und versuche das gleiche wie oben beschrieben gibts nen fehler (zugriffsverletzung). Das listview "glaubt", es hätte keine einträge (items.count ergibt 0)... aber es hat welche!!! Ich habe sie im Designer hinzugefügt... Wenn ich dann die form2 über einen button manuell sichtbar schalte, sind die einträge vorhanden. Wenn ich sie dann wieder unasichtbar schalte und wieder versuche neue subitems zuzuweisen, funktioniert es... das listview gibt dann bei items.count auch wieder 13 aus. Kann mir jemand dieses Phänomen erklären? Und mir sagen wie ich die Listview dazu bringe, zu wissen dass sie einträge enthält ohne sie einmal zu zeichnen? Liebe Grüße Daniel |
Re: Listview - readonly führt zu Zugriffsverletzung?!
erklären kann ich es nicht, aber meine bisherige Lösung:
schalte das ReadOnly aus, bevor du was an der ListView änderst und setz das ReadOnly danach wieder auf True :nerd: |
Re: Listview - readonly führt zu Zugriffsverletzung?!
Habs eben probiert. Geht leider auch nicht :(
|
Re: Listview - readonly führt zu Zugriffsverletzung?!
hmmm, meine ListBoxen waren zwar immer sichtbar, aber da macht schon alleine das ReadOnly Probleme :wall:
dann wird wohl das "unsichtbar" noch zusärtzliche Probleme verursachen, aber dafür hab ich keinen Tipp mehr parat :? |
Re: Listview - readonly führt zu Zugriffsverletzung?!
Also das ReadOnly macht hier mit Delphi 2006 keine Probleme, aber solange die ListView nicht angezeigt wurde, werden auch die vordefinierten Einträge nicht hinzugefügt.
Einfache Lösung: Die Einträge erst in OnCreate des zweiten Formulars hinzufügen. Seltsamerweise werden nach dem Hinzufügen des ersten Eintrags per Code auch die anderen hinzugefügt, die in der IDE hinzugefügt wurden... Notfalls (wenns wirklich in der IDE eingefügt werden soll, was meistens wenig sinnvoll sein dürfte) reicht auch in FormCreate diese Zeile:
Delphi-Quellcode:
ListView1.Items.Add.Delete;
|
Re: Listview - readonly führt zu Zugriffsverletzung?!
@jaenicke:
Die Lösung habe ich jetzt noch nicht ausprobiert, aber sie klingt vielversprechend. Ich habe mir in der zwischenzeit meine eigenes Readonly gebastelt: Im OnEditing Event der Listview sende ich den Tatendruck Return an die Listview selber. Dadurch wird das sich öffnende Editfenster gleich wieder geschlossen. Sehen tut man davon nichts;-) |
Re: Listview - readonly führt zu Zugriffsverletzung?!
Zitat:
Dieses würde doch gleich verhindern, daß das Edit überhaupt erst angezeigt wird. |
Re: Listview - readonly führt zu Zugriffsverletzung?!
Hab das übersehen :mrgreen:
aber das gefällt mir am besten! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 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-2025 by Thomas Breitkreuz