Hallo,
nicht immer gleich den Compiler ins Korn werfen.
Zitat:
Hat sich erledigt zu viel Aufwand und bringt keinerlei Verbesserung.
Delphi-Quellcode:
type
TSprite = packed record
type
TSprite = class
type
TSpriteListe = class(TObjectList)
TSpriteListe = TList<TSprite>
Nun noch das Erzeugen vorm Add nicht vergessen
Ohh.. So geht das ?
Dachte müsste meinen Record als Classe auslegen.
OK werde das nochmal versuchen.
Heute Nacht habe ich erst mal das kopieren der Icons in den Temp Ordner entfernt.
Diese werden jetzt direkt erstellt und anschließend sofort wieder frei gegeben.
Warum ich das so machen will mit der Liste.
Ich möchte kein Array mehr verwenden sondern die Sprites auf diese weise ansprechen ob das so geht da bin ich mir noch nicht so sicher.
Im Moment ist es so.
Delphi-Quellcode:
Sprite[Prop.RecycleBin].IconPath := ExtractFilePath(ParamStr(0)) + 'UserIcon\48x48\' + sUseThumb;
IconPath := Sprite[Prop.RecycleBin].IconPath;
Sprite[Prop.RecycleBin].h_Bitmap := CreateIcon.CreateCustomIcon(IconPath, Width, Height, 0);
Sprite[Prop.RecycleBin].Width := Width;
Sprite[Prop.RecycleBin].Height := Height;
Sprite[Prop.RecycleBin].ShellTo := 'explorer.exe';
Sprite[Prop.RecycleBin].CmdLine := '/N;::{645FF040-5081-101B-9F08-00AA002F954E}';
Sprite[Prop.RecycleBin].ShowCmd := SW_SHOW;
Das will ich dann so ändern.
Delphi-Quellcode:
var
Sprite : PSprite;
begin
Sprite.IconPath := ExtractFilePath(ParamStr(0)) + 'UserIcon\48x48\' + sUseThumb;
IconPath := SpriteIconPath;
Sprite.h_Bitmap := CreateIcon.CreateCustomIcon(IconPath, Width, Height, 0);
Sprite.Width := Width;
Sprite.Height := Height;
Sprite.ShellTo := 'explorer.exe';
Sprite.CmdLine := '/N;::{645FF040-5081-101B-9F08-00AA002F954E}';
Sprite.ShowCmd := SW_SHOW;
end;
Vorausgesetzt ich bekomme das mit der Liste hin und es bringt mir einen Vorteil.
Irgendwo muss ich ja dann auch wissen welches Icon gerade in Verwendung bzw. zugewiesen wird.
gruss