با سلام
چطور میشه با استفاده از ریسورس ، فایل تصویر PNG را در DLL ذخیره کرد و در برنامه آن تصویر را در Image لود کرد؟
خیلی گشتم و چیزهایی پیدا کردم ولی هیچکدوم به انجام نرسید.
با سلام
چطور میشه با استفاده از ریسورس ، فایل تصویر PNG را در DLL ذخیره کرد و در برنامه آن تصویر را در Image لود کرد؟
خیلی گشتم و چیزهایی پیدا کردم ولی هیچکدوم به انجام نرسید.
function LoadImageResource(Module: NativeUInt; const ResName: string): TPNGGraphic;
var
Strm: TResourceStream;
begin
Strm := TResourceStream.Create(Module, ResName, RT_RCDATA);
try
Result := TPNGGraphic.Create;
try
Result.LoadFromStream(Strm);
except
on E : Exception do
begin
ShowMessage('Error::: ' + E.message);
Result.Free;
raise;
end;
end;
finally
Strm.Free;
end;
end;
استفاده:
Image1.Picture.Graphic.Assign(LoadImageResource(Lo adLibrary(PChar('DLL.dll')),Edit1.Text));
مشکل این کد چیه بنظرتون؟؟؟
دوستان کسی کار نکرده به این شکل؟
چرا سایت اینقدر سوت و کور شده
سلام
از این کد استفاده کنید
uses
Vcl.Imaging.pngimage;
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
Var
Stream: TStream;
MyPng: TPngImage;
gv_res: THandle;
begin
gv_res := LoadLibrary(PChar(ExtractFilePath(ParamStr(0)) + 'DllProject.dll')); { Load DLL }
Stream := TResourceStream.Create(gv_res, 'SIGN', 'PNG');
Try
MyPng := TPngImage.Create;
Try
MyPng.LoadFromStream(Stream);
Image1.Picture.Assign(MyPng);
Finally
MyPng.Free;
end;
Finally
Stream.Free;
end;
end;
منبع :
https://www.programmersought.com/article/87751312991/