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