如何在delphi中调用cards.dll中的扑克牌图象?(100分)

  • 主题发起人 主题发起人 gzpbx
  • 开始时间 开始时间
var Linstance:Hmodule;
i:Integer; //i是从1到52

Linstance:=LoadLibrary('cards.dll');
aBitmap.LoadFromResourceID(Linstance,i);

 
procedure TForm1.Button1Click(Sender: TObject);
var
Linstance:Hmodule;
begin
Linstance:=LoadLibrary('c:/windows/system/cards.dll');
Image1.Picture.Bitmap.LoadFromResourceID(Linstance,2);
end;
我这么作为什么不行?一单击button就出现错误!
 
看看路径对不对吧,兄弟!
我在NT下测试,单击button取出梅花2。

procedure TForm1.Button1Click(Sender: TObject);
var
Linstance:Hmodule;
begin
Linstance:=LoadLibrary('C:/WINNT/system32/cards.dll');
Image1.Picture.Bitmap.LoadFromResourceID(Linstance,2);
end;

 
奇怪的是LoadLibrary总是返回0?
procedure TForm1.Button1Click(Sender: TObject);
var
h:hwnd;
begin
h:=LoadLibrary('cards.dll');
// showerrormessage;
if h<>0 then
begin
image1.Picture.Bitmap.LoadFromResourceID(h,1);
FreeLibrary(h);
end;
end;
 
写全你的 cards.dll 的完整路径看看
 
安装之后,就可以用上面说的方法调用了吗?
 
不是,htw是让你把这个DLL里的图片取出来存为BMP,这样就不用这么调用了。
直接 Loadfromfile 就可以了
 
faint!!!
bmp文件谁都会用,我要利用dll中的资源,
比方说我编一个打扑克拍的游戏,如果能调有dll中的图片,那多方便!!
 
那是怪htw的表达不能让你理解了 :-)
DLL 的方法在我这里没有问题,确实不知道你那里怎么回事,你换个机器试试?
 

这么写就行????我怎么什么也出不来?
h一直为零!!

procedure TForm1.Button1Click(Sender: TObject);
var
h:hwnd;
begin
h:=LoadLibrary('C:/Windows/System/Cards.dll');
// showerrormessage;
if h<>0 then
begin
image1.Picture.Bitmap.LoadFromResourceID(h,1);
FreeLibrary(h);
end;
end;

 
在NT和98里面好像不一样!在NT里面是没有问题,可以Load,在9x里面就不行!
 
你的问文件DLL存在吗?
 
我也有这样的问题,98不行吗?
 
win2000没问题,怎么回事?
 
请参考 :
http://www.delphibbs.com/delphibbs/dispq.asp?lid=280497
http://www.delphibbs.com/delphibbs/dispq.asp?lid=456673
 
win98下确实出不来,why??关注
 
看看《Delphi5开发人员指南》第七章,里面有你想要的东西。
 
Delphi5开发人员指南》第七章,ActiveX控件的?哪里有相关的东西?那个只不过是作者自己
Draw的几个Card图片,并不是调用Cards.dll里面的图片.

不过我主页有一个资料包里面就说明了这个问题,有个大虾封装了一个类,就是Cards.dll,可以
使用的.现在资料不在我身边,我没有办法贴出来!不过在CSDN有一个贴子我贴了的,你可以搜索一下.
 
98中好象是不行,
密切关注该问题。
 
后退
顶部