我的程序需要调用很多图片,但我不想用LoadFromFile等直接读文件,怎么办?
或者可以做成资源文件怎么做?

解决方案 »

  1.   

    对做成资源文件或动态库来调用!
    任意的文件作为资源添加到可执行文件1:编辑一个resource.rc文件,里面类似如下:
    hookdll RC_Dll YourHookDllFileName.Dll
    2:然后用Brcc32.exe编译:
    brcc32 resource.rc
    结果生成resource.res文件
    3:修改窗体Pas或者Dpr文件,添加下面的代码:
    {$R *.res}
    {$R resource.res}
    4:关键的代码:
    在窗体初始化或者工程的开头部分添加代码:
    var
    res:tresourcestream;
    ....
    res:=tresourcestream.create(instance,'hookdll','RC_Dll');
    res.SaveToFile('YourHookDllFileName.Dll');
    res.Free;
    5:你的程序退出的时候:
    DeleteFile('YourHookDllFile.Dll');
    6:End;