如何从tWebModule中检索资源
时间:2020-03-06 14:19:51 来源:igfitidea点击:
我正在尝试使用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;
解决方案
如果我没记错的话,我们实际上是在处理Web服务器实例,而不是dll。我不记得有什么解决方法,但这就是为什么不起作用的解释。希望其他人可以以此为基础。
RCDATA是预定义的资源类型,其整数ID为RT_RCDATA(以"类型"单位声明)。
尝试以这种方式访问它:
rc := tResourceStream.Create(hInstance,'LOGO_GIF', MakeIntResource(RT_RCDATA));
使用我们自己的任意资源类型,例如GIF:
LOGO_GIF GIF logo.gif
然后使用
rc := tResourceStream.Create(hInstance,'LOGO_GIF','GIF');
或者简单地使用
rc := tResourceStream.Create(hInstance,'LOGO_GIF', RT_RCDATA);
or simply use rc := tResourceStream.Create(hInstance,'LOGO_GIF', RT__RCDATA);
这。奇迹般有效。
这里的D2009也有相同的问题,但是试图将TStringsList移出DLL。
谢谢。