rc.rc内容:
skin            RCDATA  "images\VistaXP-VISTAXPB2.skn"程序中读取代码:function TResData.getStream(const hName: string): TResourceStream;
var
    Stream: TResourceStream;
    MyJpg: TJpegImage;
    resDll: THandle;
begin
    resDll := LoadLibrary(PChar(RESDLL_NAME));
    try
        Stream := TResourceStream.Create(resDll, hName, RT_RCDATA);
        Result:=Stream;
    finally
        FreeLibrary(resDll);
    end;
end;载入皮肤:SkinData1.LoadFromStream(resData.getStream('skin'));   //包地址错误

解决方案 »

  1.   


    //1 制作res文件
    //......//2制作包含res文件的dll
    library Mydllp;
    uses
      ExceptionLog,
      SysUtils,
      Classes;{$R abc.res}begin
    end.//3调用
    function TResData.getStream(const hName: string): TResourceStream;
    var
        Stream: TResourceStream;
        MyJpg: TJpegImage;
        resDll: THandle;
    begin
        resDll := LoadLibrary(PChar(RESDLL_NAME));  //RESDLL_NAME为Mydllp.dll文件,   直接res文件加载不了
        try
            Stream := TResourceStream.Create(resDll, hName, RT_RCDATA);
            Result:=Stream;
        finally
            FreeLibrary(resDll);
        end;
    end;