DLL参数的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 741025
  • 开始时间 开始时间
7

741025

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠:
我想程序中使用了一个ImageList存放BMP文件,但是我想在DLL中动态加载,所以在DLL中写了如下程序:
procedure LoadIconFromFile(FileName: PChar
Index: integer
ImgList: TImageList);
var
Bmp: TBitmap;
begin
try
Bmp:= TBitmap.Create;
Bmp.LoadFromFile(FileName);
ImgList.Insert(Index, Bmp, Nil);
finally
Bmp.Destroy;
end;
end;
在上面的过程参数中:filename:要打开的BMP文件名称;Index:加入ImageList的序号;ImgList:存放图标的ImageList。
我在调用时将要打开的文件名称、序号及ImageList传给DLL,但是总提示传入文件名称错误(有乱码),我如果在DLL中直接写入文件名称又提示我参数错误,搞的我一头雾水,请过路的高人指点一下,到底哪儿有问题?
 
各位大侠:
我想程序中使用了一个ImageList存放BMP文件,但是我想在DLL中动态加载,所以在DLL中写了如下程序:
procedure LoadIconFromFile(FileName: PChar
Index: integer
ImgList: TImageList);
var
Bmp: TBitmap;
begin
try
Bmp:= TBitmap.Create;
Bmp.LoadFromFile(FileName);
ImgList.Insert(Index, Bmp, Nil);
finally
Bmp.Destroy;
end;
end;
在上面的过程参数中:filename:要打开的BMP文件名称;Index:加入ImageList的序号;ImgList:存放图标的ImageList。
我在调用时将要打开的文件名称、序号及ImageList传给DLL,但是总提示传入文件名称错误(有乱码),我如果在DLL中直接写入文件名称又提示我参数错误,搞的我一头雾水,请过路的高人指点一下,到底哪儿有问题?
 
加引号干吗??路径搞好没有
 
我看看您传递的参数是什么?
 
在编译Dll和AP时在Project Options的Packages选项中勾上Bulid With Runtime Packages.
 
procedure LoadIconFromFile(const FileName: PChar
Index: integer
const ImgList: TImageList)
cdecl
external 'DllName.dll';
 
反正你这个类不通用,你还不如加个BORLANDMM.pas,然后用STRING类型传递文件名!
 
多人接受答案了。
 
后退
顶部