Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Kann ich meine ListView beschleunigen (Icon laden dauert ewig)

  Alt 13. Nov 2018, 14:46
Delphi-Quellcode:
procedure TfrmMain.StartIcons();
begin
  TThread.CreateAnonymousThread(procedure ()
    var
      LIcon: TIcon;
      I: Integer;
      dummy: Word;
    begin
      dummy := 0;
      LIcon := TIcon.Create;
      LIcon.Transparent := True;
      try
        lvFiles.Update;
        FileIcons.BeginUpdate;
        for i := 0 to lvFiles.Items.Count -1 do
          begin
            LIcon.Handle := ExtractAssociatedIcon( hInstance, PWideChar( lvFiles.Items.Item[ i ].Caption ), dummy );
            LIcon.Transparent := True;
            lvFiles.Items.Item[ i ].ImageIndex := FileIcons.AddIcon( LIcon );
            DestroyIcon( LIcon.Handle );
          end;
        TThread.Synchronize (TThread.CurrentThread, procedure ()
          begin
          end);
      finally
        FileIcons.EndUpdate;
        LIcon.Free;
      end;
    end).Start;
end;
Ich habe die Idee mit Thread mal auf diese Weise ausprobiert, also Geschwindigkeit boost ohne ende, aber irgendwas mach ich da noch falsch, jetzt werden viele Icons nicht korrekt geladen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat