请问如何把Icon、Jpg、Bmp等资源文件里的东东放入DLL里,然后如何实现调用,谢谢!

解决方案 »

  1.   

    写一个rc文件
    HELLOJPEG RCDATA your.jpg
    HELLOBMP BITMAP your.bmp
    HELLOICON ICON Your.ico
    然后用brcc32对rc文件进行编译,生成res文件就可以了。
    在DLL中加一句
    {$R Your.Res},编译一下即可。
      

  2.   

    可以用ImgEditor或者WorkShop对res文件进行编辑,导入ico和bmp文件没有问题。
      

  3.   

    先做个rc文件,然后用Brcc32.exe -32 filename.rc就可生成filename.res然后在程序里{$R filename.res}
      

  4.   

    {$ name.res}
    建立你的资源文件,然后包含的应用程序里面就可以了
      

  5.   

    谢谢大家的回答,不过我是说把那些东东放入DLL文件里,不是要放入Res文件里
      

  6.   

    采用静态调用方式
    主程序代码:  function AiGetJpgRes(AResName:PChar):THandle; far;external 'Ai9Res.dll';
      function AiGetBmpRes(AResName:PChar):THandle; far;external 'Ai9Res.dll';
      function AiGetIcoRes(AResName:PChar):THandle; far;external 'Ai9Res.dll';
      function AiGetCurRes(AResName:PChar):HCursor; far;external 'Ai9Res.dll';
      function AiGetStrRes(AResName:Integer):String; far;external 'Ai9Res.dll';其中JPG图的调用如下:
    procedure TForm1.Button2Click(Sender: TObject);
    var
      Stream:TResourceStream;
      MyJpg: TJpegImage;
    begin  Stream :=TResourceStream.Create(AiGetJpgRes(PChar('LOGIN')),'LOGIN','JPEG');
      Try
        MyJpg:=TJpegImage.Create;
        try
          MyJpg.LoadfromStream(Stream);
          Image1.Picture.Assign(MyJpg);
        Finally
          MyJpg.Free;
        end;
      Finally
        Stream.Free;
      end;
    end;DLL中代码:{$R Ai92RES.RES}function AiGetJpgRes(AResName:PChar): THandle; export;
    begin
       FindResource(hInstance, PChar('JPEG'),AResName);
      Result := hInstance;
    end;
    function AiGetBmpRes(AResName:PChar): THandle;export;
    begin
      FindResource(HInstance,'BITMAP' ,AResName);
      Result:=HInstance;
    end;
    function AiGetStrRes(AResName:Integer):string; export;
    begin
      Result:=LoadStr(AResName);
    end;function AiGetIcoRes(AResName:PChar): THandle; export;
    begin
      Result :=  LoadIcon(HInstance,AResName);
    end;function AiGetCurRes(AResName:PChar): HCursor; export;
    begin
      Result:=LoadCursor(HInstance,AResName);
    end;exports
      AiGetBmpRes index 1,
      AiGetJpgRes index 2,
      AiGetIcoRes Index 3,
      AiGetCurRes index 4,
      AiGetStrRes index 5;
    end.