How to load JPG images from a resource-only DLL (Views: 712)
Problem/Question/Abstract: I stored jpeg's in DLL as resource, and I want to load it from the DLL using Delphi3 Answer: You can use LoadLibrary( ' yourdllname ' ) or GetModuleHandle( ' yourdllname ' ) for retrieving the handle of your DLL and after that something like: procedure TForm1.LoadJPGFromDLL(DLLHandle: THandle; ResName, ResType: PChar; JPG: TJPEGImage); procedure Error; begin raise Exception.Create('Filed to load resource!'); end; var ResSize: dword; HG, HI: LongInt; P: Pointer; MS: TMemoryStream; begin HI := FindResource(DLLHandle, ResName, ResType); if HI = 0 then Error; HG := LoadResource(DLLHandle, HI); if HG = 0 then Error; ResSize := SizeOfResource(DLLHandle, HI); MS := TMemoryStream.Create; try P := Pointer(LockResource(HG)); MS.Write(P^, ResSize); MS.Position := 0; JPG.LoadFromStream(MS); UnlockResource(HG); finally MS.Free; FreeResource(HG); end; end; |