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/)
-   -   VirtualStringTree Version 7 neue Exception [gelöst] (https://www.delphipraxis.net/193079-virtualstringtree-version-7-neue-exception-%5Bgeloest%5D.html)

SneakyBagels 18. Jun 2017 17:43


VirtualStringTree Version 7 neue Exception [gelöst]
 
Seitdem ich mein VST auf Version 7 umgestellt habe bekomme ich folgende Exception wenn ich mit der Maus über einen Node fahre

Zitat:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt .....exe ist eine Exception der Klasse EAssertionFailed mit der Meldung 'An image index was supplied for TVTImageKind.ikState but no image list was supplied. (C:\Users\......\Documents\RAD Studio\lib\VTV_7\Source\VirtualTrees.pas, Zeile 20468)' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Woran kann das liegen? Vorher hatte ich das nicht.

In meinem GetImageIndex weise ich ganz normal über ImageIndex := einem Node ein Icon zu.

Das Problem wurde gelöst indem ich das hier im GetImageIndex-Event eingebaut habe
Delphi-Quellcode:
case Kind of
 ikNormal, ikSelected:
  // ImageIndex setzen
 end;
end;

Aviator 18. Jun 2017 20:10

AW: VirtualStringTree Version 7 neue Exception [gelöst]
 
Zitat:

Zitat von SneakyBagels (Beitrag 1374799)
Das Problem wurde gelöst indem ich das hier im GetImageIndex-Event eingebaut habe
Delphi-Quellcode:
case Kind of
 ikNormal, ikSelected:
  // ImageIndex setzen
 end;
end;

Das ist auch die richtige Vorgehensweise. Der VST hat seit einer 6.Xer Version eine extra ImageList für die verschiedenen NodeStates. Willst du die nicht behandeln bzw. immer unabhängig vom State das gleiche Image hinterlegen, dann einfach nur ikState ausschließen.

Eine andere Variante wäre folgende (wenn es je nach Status keine unterschiedlichen Images geben soll):

Delphi-Quellcode:
if Kind in [ikNormal, ikSelected] then begin
  ImageIndex := Index;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 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