2 pièce(s) jointe(s)
Probleme : VirtualTreeview getimageindex
Bonjour,
j'ai un probleme avec l'évenement TVirtualtreeview.Getimageindex
je me sers d'un Timagelistex pour récupérer les icônes des fichiers affichés dans mon treeview. tout marche bien sauf si j'essaie de récupéré l'icone d'un fichier jpeg le treeview ce met a appeler getimageindex en boucle, j'ai testé beaucoup d'autres format apparement cela arrive que pour les jpeg.
j'ai 4 applications qui tournent avec le meme principe et les 4 ont ce problème, même l'exemple zipunzip fournit avec vtcontribution me fait l'erreur
j'ai testé sur un autre ordinateur meme probleme (seul hic meme windows)
j'utilise Delphi 2010 et la derniere version des virtual control sous winXp
Voici ma procédure qui est appelé en boucle lors de l'affichage d'un jpeg
Code:
1 2 3 4 5 6 7 8 9 10 11
| procedure TFrm_Main.FileListGetImageIndex(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
var Ghosted: Boolean; var ImageIndex: Integer);
var l_data : pfile;
begin
if column = 0 then
begin
l_data := filelist.GetNodeData(node);
ImageIndex := ImageListEx1.GetVirtualFileSystemIconIndex(l_data.Name);
end;
end; |
j'ai joint 2 imprime ecran avec et sans fichier jpg affiché dans le treeview
si quelqu'un a déjà vu ca ou à une idée je suis preneur
merci
tophe
ps : je viens de faire l'essai en empêchant de charger l'icon sur les fichiers jpg le programme ne pars pas dans une boucle sans fin
source du probleme trouvée
J'ai trouvé d'où venait le problème cela vient d'une erreur de registre sur le fileicon ([HKEY_CLASSES_ROOT\jpegfile\DefaultIcon] ) je l'ai reinitialisé en changeant l'icone
j'avais ca
[HKEY_CLASSES_ROOT\jpegfile\DefaultIcon]
@="%1"
"Xentient.Thumbnails.Backup"="shimgvw.dll,3"
mais je ne vois pas pourquoi cela me crée une boucle sans fin dans mon GetImageIndex alors que ImageListEx1.GetVirtualFileSystemIconIndex renvoie bien l'icone correctement malgré l'erreur de regsitre.
tophe