Einzelnen Beitrag anzeigen

Luki206
(Gast)

n/a Beiträge
 
#1

TImage Bild laden über DLL

  Alt 29. Mai 2014, 15:01
Hi DP, ich habe ein Problem/Frage, ich habe jetzt etwas versucht ein Bild aus einer DLL über eine DLL zu laden sprich ich habe den Code in der DLL:
Delphi-Quellcode:
procedure GetImage(Image: TImage; place: Integer; SLibrary: String); stdcall;
var
myStream: TResourceStream;
h: Cardinal;
LGraphic: TGraphic;
begin
 h:= LoadLibrary(PChar(SLibrary));
 mystream := TResourceStream.CreateFromID(h, place, RT_RCDATA);
 LGraphic := TPngImage.Create;
  try
    LGraphic.LoadFromStream(mystream);
    Image.Picture.Assign(LGraphic);
  finally
    mystream.Free;
    LGraphic.Free;
  end;
 FreeLibrary(h);
end;
Und rufe ihn so auf (DLL wird zum Ladezeit punkt eingebunden):
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 GetImage(ImgTest, 1, 'Test.dll');
end;
Das Bild ist ein PNG Bild.

Und jetzt meine Frage, ich bekomme beim Starten folgenden Fehler:
Code:
Im Projekt Test.exe ist eine Exception der Klasse EConvertError mit der Meldung 'TPngImage kann nicht zu TPicture zugewiesen werden' aufgetreten.
Danke Luki
  Mit Zitat antworten Zitat