把*.res 做到*.dll,但不知道如何在exe 调用dll中资源文件 (50分)

  • 主题发起人 主题发起人 swordman
  • 开始时间 开始时间
S

swordman

Unregistered / Unconfirmed
GUEST, unregistred user!
1.在*.res 中有一个avi
2.把*.res 包含到*.dll
问题:
在exe的tanimate控件 如何调用avi
(bitmap没问题,但就是avi不知道如何调用)
 
在窗体中置入Animate,在使之“filename”属性为你要的avi即可。再编译就不用管了。
 
先谢谢
bbs_delphi

但我还想知道 我问题中的做法,如何实现
 
如何将*.res包含到dll中?
 
function LoadBitmapFromDLL(pBitmapID, DLLFile: String): HBITMAP;
var
hIPROlib: HModule;
begin
Result := 0;
hIPROlib := LoadLibrary(PChar(DLLFile));
if hIPROlib <> Null then
try
Result := LoadBitmap(hIPROlib, PChar(Uppercase(pBitmapID)));
finally
FreeLibrary(hIPROlib);
end;
{ 如果装载不成功 Result = 0}
end;

在程序中调用的例子如下:

Image1.Picture.Bitmap.Handle := LoadBitmapFromDll('BIT_NAME', 'MyDllName.Dll');
 
AVI 文件可以采用 流

TStream.LoadResource()
 
用TResourceStream把你的资源先从文件提取出来
然后或者存为临时文件再使用或者直接赋给相应控件,这就具体看你的资源了。
 
后退
顶部