Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#1

Kann ich meine ListView beschleunigen (Icon laden dauert ewig)

  Alt 13. Nov 2018, 11:16
So sieht meine füll routine aus:
Delphi-Quellcode:
in .dfm
  object FileIcons: TImageList
    BlendColor = clGradientInactiveCaption
    BkColor = 15918295
    Masked = False
    Left = 632
    Top = 32
  end

...
    FileIcons: TImageList;
...

procedure DoIt();
var
  i: Integer;
  SL2: TStringDynArray;
  SL2idx: Integer;
  Icon: TIcon;
  dummy: Word;
begin
  dummy := 0;
  SL2idx := 0;
  SetLength( SL2, 1 );

...code um SL zu füllen...

  if SL2idx > 0 then Dec( SL2idx );
  SetLength( SL2, SL2idx );
  Icon := TIcon.Create;
  Icon.Transparent := True;
  lvFiles.Items.BeginUpdate;
  for i := 0 to Length( SL2 ) -1 do
    with lvFiles.Items.Add() do
      begin
        if cbUseIcons.Checked then
          Icon.Handle := ExtractAssociatedIcon( hInstance, PWideChar( SL2[ i ] ), dummy );
        Icon.Transparent := True;
        ImageIndex := FileIcons.AddIcon( Icon );
        DestroyIcon( Icon.Handle );
        Caption := SL2[ i ];
    end;
  lvFiles.Items.EndUpdate;
  Icon.Free;
end;
Lasse ich das Icon laden weg = hab ich fast sofort die Ergebnisse dargestellt
Nehm ich Icon mit rein dauert es teilweise ewig.

Mach ich da was falsch?
Gruß vom KodeZwerg

Geändert von KodeZwerg (13. Nov 2018 um 11:30 Uhr)
  Mit Zitat antworten Zitat