ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Hallo,
Ich möchte per LVM_INSERTITEM einer Listview einen Eintrag hinzufügen. Das funktioniert auch, aber kurz nach dem Ausführen von folgendem Code, erhalte ich eine Zugriffsverletzung. Weiss jemand, was daran falsch ist? Die ListView steht auf "vsReport" und hat 2 Spalten. (Bei einer Spalte erhalte ich keine Exception.)
Delphi-Quellcode:
var itm: TLVItem;
begin itm.mask:=LVIF_TEXT; itm.iItem:=0; itm.iSubItem:=0; itm.pszText:='test'; listview1.Perform(LVM_INSERTITEM,0,lparam(@itm)) end; |
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
du schreibst das es funktioniert sagst aber gleichzeitig das der Code einen Fehler verursacht? Welcher Code funktioniert dann?
|
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Zitat:
Ich habe es jetzt auch mal so versucht, aber der Fehler bleibt.
Delphi-Quellcode:
var lvi: TLVItem;
begin lvi.mask := LVIF_TEXT; lvi.iItem := 0; lvi.iSubItem := 0; lvi.pszText := 'Test'; SendMessage(listview1.handle, LVM_INSERTITEM, 0, LParam(@lvi)); lvi.iSubItem := 1; lvi.pszText := 'Test2'; SendMessage(listview1.handle, LVM_SETITEM, 0, LParam(@lvi)); end; |
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Warum machst du das nicht über die VCL, da du sie anscheinend sowieso benutzt? Vermischt man VCL und nonVCL, kann das durchaus unvorhersehbare Nebenwirkungen haben.
|
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Zitat:
Gibt es da eine bessere Möglichkeit? |
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Ja, greife auf VCL Elemente des Hauptthread über Synchronize zu. Oder schick eine Nachricht mit den Daten an den Haupthread.
|
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Zitat:
|
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Zitat:
|
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Es gibt auch eine statische Variante von Synchronize.
|
Re: ListView Perform LVM_INSERTITEM - Zugriffsverletzung
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:53 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