Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.994 Beiträge
 
Delphi 12 Athens
 
#2

AW: Funktion: Graphic anhand des Namens aus Res erstellen

  Alt 16. Feb 2016, 22:11
Du solltest die gerade erzeugte TGraphic-Instanz nicht gleich wieder freigeben. Schließlich brauchst du die ja noch als Funktionsrückgabe.

Das ganze mal etwas kompakter geschrieben:
Delphi-Quellcode:
function GetGraphicFromResource(Name: String): TGraphic;
var
  RS: TResourceStream;
  FileExtension: String;
begin
  FileExtension := LowerCase(Copy(Name, Length(Name) - 2, 3));

  result := nil;
  if FileExtension = 'bmpthen begin
    result := TBitmap.Create;
  end
  else if (FileExtension = 'jpg') or (FileExtension = 'jpeg') then begin
    result := TJPEGImage.Create;
  end
  else if FileExtension = 'pngthen begin
    result := TPNGImage.Create;
  end
  else if FileExtension = 'gifthen begin
    result := TGIFImage.Create;
  end;

  if result <> nil then begin
    RS := TResourceStream.Create(hInstance, Name, RT_RCDATA);
    try
      result.LoadFromStream(RS);
    finally
      RS.Free;
    end;
    showmessage('gr vorhanden');
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat