Delphi 4 : comprend pas ! - Programmation
Marsh Posté le 17-10-2001 à 12:40:59
C koa ton getImageSysList ?
NB1 : pour les methodes sans paramatres, tu peux te passer des parenthese
NB2 : le self de self.membreQuelconque est facultatif
[edtdd]--Message édité par evode--[/edtdd]
Marsh Posté le 17-10-2001 à 14:10:06
Le self et les (), c'est juste pour la lisibilité du code... je m'y suis habitué avec Java
pour ce qui est de GetImageSysList, voilà le code :
procedure TExplorerTreeView.getImageSysList;
var
sfi: TSHFileInfo;
SysIL: UInt;
begin
// retourne un handle sur la liste d'images système
SysIL := SHGetFileInfo('', 0, sfi, SizeOf(TSHFileInfo),
SHGFI_ICON or SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
if SysIL <> 0 then
begin
ListIcones.Handle := SysIL;
ListIcones.ShareImages := true;
end;
end;
si je rajoute dans la méthode create
Self.Items := TTreeNodes.create(Self);
juste avant le Self.Items.BeginUpdate, l'erreur se retrouve sur Self.Items := (...);
mais c'est sur que c'est pas GetImageSysList : ça se voit bien quand j'execute en pas à pas...
[edtdd]--Message édité par Georges Moustaki--[/edtdd]
Marsh Posté le 17-10-2001 à 14:48:46
ton constructeur est t'il appele dans le constructeur du owner ?
je m'explike :
dans l'aide sur TWinControl, je suis tombe sur : n'utilisez pas la propriété Handle lors de la création ou du transfert sur flux d'un composant.
donc si tout ce lance avant la creation du composant principal (CP), on peu imaginer ke le handle necessaire a Items remonte jusqu'a CP mais ca marche po parce ke justement CP n'est po encore completement cree
Marsh Posté le 17-10-2001 à 12:35:24
constructor TExplorerTreeView.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ListIcones := TImageList.create(Self);
self.getImageSysList();
Self.Items.BeginUpdate;
addDesktopRoot();
addDriveRoot();
addDrives();
addNetworkRoot();
addTrashRoot();
Self.items.EndUpdate();
end;
bon, ça sa marche, le seul problème, c'est que quand j'ajoute ce composant dans une fiche, à l'execution, il me dit :'Classe TImageList introuvable' ou un truc dans le style alors que l'unité Controls est bien inclu dans le source de la fiche et celui du composant...
le pb disparait si j'ajoute une TimageList à la fiche mais je perd du coup mes icones...
[edtdd]--Message édité par Georges Moustaki--[/edtdd]