使用ExtractIcon(hInstance,PChar(ModuleName),-1);获取图标个数出错!(50分)

  • 主题发起人 主题发起人 myyzg
  • 开始时间 开始时间
M

myyzg

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI6中,使用Total:=ExtractIcon(hInstance,PChar(ModuleName),-1);
获取图标个数,为何出错:
[Error] Unit1.pas(74): Constant expression violates subrange bounds
 
写的详细点!
 
看看:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=184832
http://www.delphibbs.com/delphibbs/dispq.asp?lid=137588
http://www.delphibbs.com/delphibbs/dispq.asp?LID=611562
 
请注意 ExtractIcon 的定义:
HICON ExtractIcon(
HINSTANCE hInst, // instance handle
LPCTSTR lpszExeFileName, // filename of file with icon
UINT nIconIndex // index of icon to extract
);
最后一个参数是 UINT 无符号整型,那当然不能传个负号过去,这样:
Total:=ExtractIcon(hInstance, PChar(ModuleName), DWord(-1));//强制类型转换
或:
Total:=ExtractIcon(hInstance, PChar(ModuleName), $FFFFFFFF);
 
ExtractIcon(hInstance, PChar(ModuleName), DWord(-1));
即可
 
试试 ExtractIcon(hInstance,'shell.dll',Cardinal(-1));
 
谢谢各位!
 
后退
顶部