Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#22

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

  Alt 13. Nov 2018, 15:11
TThread.Synchronize (TThread.CurrentThread,

Bist sicher? Nicht Nil!
Nur mal als sample

Delphi-Quellcode:
function TSessionThread.OnSessionCreated(NewSession: IAudioSessionControl): HResult;
begin

  Result := S_FALSE;

  if (MainThreadID <> GetCurrentThreadId) then
  begin
    TThread.Queue(nil,
      procedure
      var
        bDuplicate: BOOL;
        i: Integer;
      begin
        if Assigned(FOnAudioSessionCreate) then
        begin
          ASessionInfo := GetSessionInfo(NewSession);
          if ASessionInfo.FileName <> 'then
          begin
            // Check to prevent duplicate registeration of audio session
            bDuplicate := false;
            for i := 0 to (FSessionCount - 1) do
           if SessionInfo[i].PID = ASessionInfo.PID then
           begin
             // for the case of reuse of same PID (but different programs)
             if SessionInfo[i].State <> AudioSessionStateExpired then
             begin
               bDuplicate := true;
               Break;
             end;
          end;

          if not bDuplicate then
          begin
            inc(FSessionCount);
            SetLength(SessionInfo, FSessionCount);
            SessionInfo[FSessionCount - 1] := ASessionInfo;
            FOnAudioSessionCreate(NewSession, ASessionInfo, FSessionCount);
          end;
        end;
      end;
    end);
    Result := S_OK;
  end;
end;
Zitat:
Warum so kompliziert und nicht einfach die Icons in eine ImageList stecken.
Und du kennst alle Icons von Programmen die er auslesen will auch unbekannte die noch niemals auf seiner Platte waren also im Moment unbekannt sind?
Super na ja dann addiere die unbekannten mal zur Imagelist.
Ist doch einfach oder?

gruss

Geändert von EWeiss (13. Nov 2018 um 15:17 Uhr)
  Mit Zitat antworten Zitat