首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于bcb dll 使用的一个异常

2012-03-26 
关于bcb dll 使用的一个错误我准备把一张小的bmp图片放在dll里面,使用下面2种方法:在dll 里动态建立 Timag

关于bcb dll 使用的一个错误
我准备把一张小的bmp图片放在dll里面,使用下面2种方法:

在dll 里动态建立 Timage *Image1= new Timage(Image1);

  Image1->Picture->LoadFromFile("c:\\test.bmp") ;

建立一个函数

extern "C" __declspec(dllexport) __stdcall void Get_image(TImage *buffer)
{

  buffer->Picture->Bitmap->Assign(Image1->Picture->Bitmap) ;


这样在dll调用是正常的,但test.bmp是实时加载,这个图片必须随程序打包,我希望把这个图片包在dll里,于是
在dll 里面建立form,放一个 Image1 控件,在属性里面加载这个图片,编译正常,图片也确实包含进dll里面,
但调用Get_image函数,就出错。

请高手指点。

[解决办法]
第一步,建立 DLL 工程:new一个DLL Wizard

第二步,创建一个RC文件,内容如下:
Bmp1 BITMAP "d:\\ccrun\\1.bmp"
Bmp2 BITMAP "d:\\ccrun\\2.bmp"
Bmp3 BITMAP "d:\\ccrun\\3.bmp"
当然,你需要将相应的bmp文件路径修改成你的文件名

第三步,将这个.rc文件加入到DLL工程中,无需导出什么函数,编译,假设生成Project1.dll

第四步,创建一个应用程序,在窗体上放置两个TImage和两个TButton,然后在默认单元的.h文件中添加:

C/C++ code
private:    // User declarations    HMODULE m_hLib; 

热点排行