-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
14. Nov 2018
So macht es mehr oder weniger was ich wollte, nun werden nach und nach die icons geladen und dargestellt unabhängig vom mainthread.
procedure TfrmMain.StartIcons3();
begin
TThread.CreateAnonymousThread(procedure ()
var
LIcon: TIcon;
dummy: Word;
I: Integer;
begin
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
Das mit dem TParallel.For() bekomme ich auch nicht wirklich in Gange.
Zum verzweifeln wenn man nicht weiß wie.
procedure TfrmMain.StartIcons3( AListView: TListView; AImageList: TImageList );
var
LIcon: TIcon;
dummy: Word;
begin
dummy := 0;
LIcon := TIcon.Create;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
Guter Einfall, habs gerade getestet, vom Faktor Zeit ausgehend ist es gleich. Danke trotzdem!
Ich bin jetzt auf Hide und Show umgestiegen, das erspart dem Rechner eine Animation abzuspielen :-)
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
Ich hatte da wirklich einen mega boost, weil alle Dateien die nicht .ico oder als resource ein mainicon haben einfach übersprungen werden und als retoure bekommt man ein blanko icon.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
Mein nächster Versuch, bis jetzt mehr als gescheitert, bin noch auf Fehlersuche.
Hab mal im Soure kommentiert so wie ich es dachte das es funktioniert:
//dieses mal mit eingabe
procedure TfrmMain.StartIcons( ListView: TListView; ImageList: TImageList );
begin
// hier soll ein Thread abseits des Mainthreads starten um diesen zu entlasten
TThread.CreateAnonymousThread(procedure ()
...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
Ich hoffe *bet* das ichs jetzt gerafft habe:
procedure TfrmMain.StartIcons();
begin
TThread.CreateAnonymousThread(procedure ()
var
LIcon: TIcon;
dummy: Word;
begin
dummy := 0;
LIcon := TIcon.Create;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
procedure TfrmMain.StartIcons();
begin
TThread.CreateAnonymousThread(procedure ()
var
LIcon: TIcon;
I: Integer;
dummy: Word;
begin
dummy := 0;
LIcon := TIcon.Create;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
procedure TfrmMain.StartIcons();
begin
TThread.CreateAnonymousThread(procedure ()
var
LIcon: TIcon;
I: Integer;
dummy: Word;
begin
dummy := 0;
LIcon := TIcon.Create;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
@CCRDude, die Idee gefällt mir, sehr sogar!
Also Icon routine komplett aus meiner Füll methode raus, wenn die fertig ist einen Thread starten der dann poe á poe Icons cached und in ListView das Index dafür setzt.
Hab ich ehrlich gesagt noch nie probiert, cooler Gedanke, das werde ich mal separat testen.
Ob mein MainThread momentan hängt kann mir ziemlich egal sein denn ohne ListView kann das...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
Bin mit guten Nachrichten zurück, also das FileIcons.Begin/EndUpdate brachte schonmal etwas boost, rein objektiv Betrachtet.
Application.Minimize;
lvFiles.Items.EndUpdate;
FileIcons.EndUpdate;
Application.Restore;
Application.BringToFront;
aber das wirkt tatsächlich Wunder, kann ich nur Weiterempfehlen! Besten Dank für Tipps, hab ich aufgesaugt und werde es mir merken!
Ich...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
Okay, kann ich probieren, vorm .EndUpdate mal minimieren danach wiederherstellen. Ist ein Versuch Wert!
Boah, wusste noch garnicht das es sowas gibt, das teste ich auch!
Ich melde mich nach Tests wieder.
Dateimenge sind mal 50 mal 500, selten mehr. Aber selbst bei 20-30 Dateien dauert es manchmal 20-30 sekunden. Trotz SSD.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
SHGetFileInfo hatte ich vorher, liefert aber nicht immer das zurück was ich möchte. Zwischen den beiden ist kein Nennenswerter Geschwindigkeits-Unterschied.
Ja die IO Zugriffe sind da enorm beansprucht, da falls kein Icon in Datei sein sollte sucht Windows nach dem nächst besten (also mit ExtractAssociatedIcon, die SH-Variante gibt da zu schnell auf und liefert blanko-Template wieder, was...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by KodeZwerg,
13. Nov 2018
So sieht meine füll routine aus:
in .dfm
object FileIcons: TImageList
BlendColor = clGradientInactiveCaption
BkColor = 15918295
Masked = False
Left = 632
Top = 32
end