Einzelnen Beitrag anzeigen

MartinK

Registriert seit: 21. Jun 2009
Ort: Germering (Germany)
89 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Effizientes extrahieren von Resourcen

  Alt 5. Okt 2020, 18:52
Ich gebe meinem Programm via *.RES Datei eine größere Anzahl an Bitmaps mit.
Diese werden beim "Create" des Hauptformulars in verschieden ImageLists "extrahiert"
(Grund dafür ist dass das statisches Einbinden der Bitmaps in die Imagelist bei einigen Anwendern leider zu Fehlern führt).

Das extrahieren der Resourcen, ca 250 kleinere Bitmaps dauert allerdings beim Programmstart jeweils fast 5 Sekunden.... die ich gerne einsparen würde.


Aktuell lade ich die resourcen per "LoadFromResourceName" was evtl. nicht der schnellste Weg ist, oder?
Delphi-Quellcode:
Var
  ResourceNameStr : String;
  aBmp : TBitmap;

begin
  for I:= 0 to 249
    do begin
         ResourceNameStr := 'PicIdentifier' + format('%.3d',[I]);
         try
           aBmp.LoadFromResourceName(HInstance,ResourceNameStr);
           ILSaltTypeRes .Add(aBmp, nil);
         Except
         end;
       end;
.....

end;
Gibt es eine Möglichkeit das zu beschleunigen?
Evtl. aus der resource zuerst einen MemoryStream (ms) der gesamten Resourcen zu erzeugen und diesen dann iwie per "aBmp.LoadFromStream (ms)" auszulesen?


vG Martin
Martin Kuhn
  Mit Zitat antworten Zitat