如何从tWebModule中检索资源

时间:2008-09-18 03:20:15

标签: delphi

我正在尝试使用WebBroker技术提取作为ISAPI dll中的资源嵌入的gif图像。使用以下RC代码将资源添加到DLL中:

LOGO_GIF RCDATA logo.gif

使用资源浏览器我已经验证它在DLL中正确。

使用以下代码始终抛出异常,“找不到资源”(使用Delphi 2009)

var
  rc : tResourceStream;
begin
  rc := tResourceStream.Create(hInstance,'LOGO_GIF','RCDATA');
end;

4 个答案:

答案 0 :(得分:3)

RCDATA是pre-defined资源类型,其整数ID为RT_RCDATA(在Types单元中声明)。

尝试以这种方式访问​​它:

rc := tResourceStream.Create(hInstance,'LOGO_GIF', MakeIntResource(RT_RCDATA));

答案 1 :(得分:1)

如果我没记错的话,你实际上是在处理Web服务器的一个实例,而不是dll。我不记得有什么工作,但这就解释了为什么这不起作用。希望其他人可以建立起来。

答案 2 :(得分:1)

使用您自己的任意资源类型,如GIF:

LOGO_GIF GIF logo.gif

然后使用

rc := tResourceStream.Create(hInstance,'LOGO_GIF','GIF'); 

或只是使用

rc := tResourceStream.Create(hInstance,'LOGO_GIF', RT_RCDATA); 

答案 3 :(得分:1)

  

或只是使用

     

rc:= tResourceStream.Create(hInstance,'LOGO_GIF', RT__RCDATA );

此。奇迹般有效。

D2009在这里也遇到了同样的问题,但是试图将TStringsList从DLL中删除。

感谢。