Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#23

AW: Beschleunigung von Laderoutine

  Alt 17. Aug 2016, 10:38
Kannst mir das mal als Beispiele auf meine Routine übertragen?
So das ich das mal testen kann.
Du pflegst ja eher einen struktuierten Programmierstil, daher so:

Delphi-Quellcode:
...

uses
  System.Generics.Collections;

...

var
  EWeissCoverDictionary: TDictionary<string, GLuint>;

procedure Construct;
begin
  EWeissCoverDictionary := TDictionary<string, GLuint>.Create;
end;

procedure LoadCovers(const CoverPath: string; out Texture: GLuint);
begin
  if not EWeissCoverDictionary.TryGetValue(CoverPath, Texture) then
  begin
    LoadTexture(CoverPath, Texture, False);
    EWeissCoverDictionary.Add(CoverPath, Texture);
  end;
end;

procedure MachKaputtWasEuchKaputtMacht;
var
  Texture: GLuint;
begin
  for Texture in EWeissCoverDictionary.Values do
  begin
    glDeleteTextures(1, @Texture);
  end;
  EWeissCoverDictionary.Free;
end;
Das!
Delphi-Quellcode:
  BMP := TBitmap.Create;
  BMP.Pixelformat := pf32bit;
  BMP.Assign(JPG);
geht nicht.
Danach wird mein Plugin einfach beendet.
Haste dir schonmal nen try-except darum gebastelt und dir die Exception.Message ausgeben lassen?
  Mit Zitat antworten Zitat