delphi – 如何从BPL中提取资源?
发布时间:2020-12-15 09:19:23 所属栏目:大数据 来源:网络整理
导读:如果我在EXE中有一个资源并且我想要提取它,那就非常简单了.就像是: stream := TResourceStream.Create(HInstance,ResourceName,RT_RCDATA); 这是有效的,因为全局变量HInstance是EXE的句柄. BPL中的代码有没有类似的方法来获取它所属的包的句柄,所以我可以从
如果我在EXE中有一个资源并且我想要提取它,那就非常简单了.就像是:
stream := TResourceStream.Create(HInstance,ResourceName,RT_RCDATA); 这是有效的,因为全局变量HInstance是EXE的句柄. BPL中的代码有没有类似的方法来获取它所属的包的句柄,所以我可以从中提取资源? 解决方法
HInstance实际上是在SysInit单元中,每个PE(package,exe,dll)都是唯一的.如果使用rtl包,则在包中共享大量编译器RTL和辅助函数的系统.
因此,您在上面显示的代码应该可以在包中正常工作. MainInstance可能是你正在考虑的加载exe的句柄(在某些情况下甚至是DLL). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |