我正在尝试使用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;
答案 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中删除。
感谢。