res资源文件包含有head.exe,由于放在主exe文件中程序较大,想放在dll中,然后再动态调用释放.如何实现?

解决方案 »

  1.   

    创建了一包含head.exe的head.res资源文件,把dll中的{$r *.res}改为{$r head.res},如何在另一程序中动态调用呀?我找了下,用这个方法没成功:
    Function ExtractRes(ResType, ResName, ResNewName : String):boolean;
    Function tform1.ExtractRes(ResType, ResName, ResNewName : String):boolean;
    var
    Res : TResourceStream;
    begin
    try
    Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
    try
    Res.SavetoFile(ResNewName);
    Result:=true;
    finally
    Res.Free;
    end;
    except
    Result:=false;
    end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var hDll:HMODULE;
    begin
    hDll:=LoadLibrary('dll.dll');
    try extractres('exefile','head','c:\head.exe');
    finally
    FreeLibrary(hDll);
    end;
    end;