2

我正在尝试使用 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

4 回答 4

3

RCDATA 是一个预定义的资源类型,其整数 ID 为 RT_RCDATA(在类型单元中声明)。

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

rc := tResourceStream.Create(hInstance,'LOGO_GIF', MakeIntResource(RT_RCDATA));
于 2008-09-18T06:26:00.980 回答
1

如果我没记错的话,您实际上是在处理 Web 服务器的实例,而不是 dll。我不记得解决方法,但这就是为什么它不起作用的解释。希望其他人可以以此为基础。

于 2008-09-18T05:16:33.893 回答
1

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

LOGO_GIF GIF logo.gif

然后使用

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

或简单地使用

rc := tResourceStream.Create(hInstance,'LOGO_GIF', RT_RCDATA); 
于 2008-09-18T07:37:02.120 回答
1

或简单地使用

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

这。奇迹般有效。

这里的 D2009 也有同样的问题,但试图从 DLL 中取出 TStringsList。

谢谢。

于 2009-07-22T10:05:20.957 回答