- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个测试项目,它公开了 COM 工厂和对象。经过测试并发现我们的实现正在运行 - 我现在想将代码+类型库移至我们的主项目中。我将 RIDL + TLB 文件复制到主项目文件夹中。我相应地重命名了这两个文件(主项目名称)。我还删除了项目资源文件,以防 Delphi 将 TLB 数据放在这里。当然,我删除了旧的 TLB 和 RIDL 文件(我还删除了所有 DCU 文件,以防万一)。最后,我将 RIDL 文件添加到主项目中并进行编译。
RIDL 文件在编译期间被 Delphi 拾取,它按预期生成 TLB 文件,但不知何故它没有将 TLB 数据注入(inject)到 exefile 中。因此,当我启动应用程序时,我只是收到一条错误消息“无法加载类型库”。在我的代码中,我在启动时自动创建 COM 工厂并更新 Windows 注册表。关闭时会发生相反的情况。
摆弄类型库编辑器几个小时,尝试从 Delphi 和 shell/regsvr32 注册 typelibrary/exe,delphi 出于某种神奇的原因拾取了新文件,一切都按预期工作。
问题是,我不知道“为什么”它一开始不起作用,也不知道为什么在尝试不同组合几个小时后它起作用。所以我无法重现成功。当更新我们的代码库时,我必须在另一台计算机/修订版上执行相同的操作 - 但这次它拒绝工作。
如何强制 Delphi 注入(inject)类型库?是否有一些“技巧”(除了像刷新 RIDL 这样明显的技巧,它可以正确生成单元,但对 TLB 资源问题没有任何作用)。
最佳答案
据我了解,步骤如下:
$R
条件指令链接 .tlb 资源,如下所示:{$R MyProject.tlb}
关于delphi - 替换Delphi XE3中的RIDL文件和typelib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19830396/
尝试解析TypeLib注册表项下的文件路径时,我看到了几个(并非全部)注册表值,如下所示: HKEY_CLASS_ROOT\TypeLib\\{EE9CFA8C-F997-4221-BE2F-85A5
这个问题已经有答案了: MS Access VBA Error: Run time error '70' Permission Denied (3 个回答) 已关闭 6 年前。 我的代码有一个问题,似
我有一个 Delphi7。 我用这篇文章:http://www.delphidabbler.com/articles?article=22&part=2/步骤2 现在,我用 LoadTypeLib 创
在 asking about what Visual Studio does to register a COM Library 之后,很明显 VS 为 COM 注册做了两件事: 注册 COM 库 创
我最近需要制作一个互操作程序集。经过一番谷歌搜索后,我发现 tlbimp.exe .我的下一个问题是我的 COM 库没有提供 .tlb文件。进一步的谷歌搜索显示,类型 lib 通常作为资源包含在 ex
即使 TypeLib 完全为空,是否可以找到通常使用组件对象模型 (COM) TypeLib 注册的所有接口(interface)(类、参数等)?如果是这样,你会怎么做?我相信另一个术语是“匿名 CO
我有一些进口: gi.require_version('Gtk', '3.0') from gi.repository import Gtk from gi.repository import Gdk
使用 VC2005,我有 3 个项目要构建: libA(包含类型库,生成 libA.dll):IDL 有一行 library libA { ... libB(包含导入 libA 的类型库,生成 lib
我正在编写 XPCOM 组件。我有我的 idl 文件,它非常简单,仅包含以下内容: #include "nsISupports.idl" [scriptable, uuid(4ead-ba5c-49c
我将“更好”放在引号中,因为这是一个定性问题。几年来我一直在编写 COM DLL,直到最近才发现并成功使用了带有 Typelib 概念的标准 DLL。 使用 COM DLL 代替 DLL+Typeli
我正在我的树莓派上构建 gstreamer 最新版本。我想要 python 绑定(bind),因此在编译 gstreamer 及其插件之前安装了 gobject-introspection-1.0 和
首先声明,我不是 COM 开发人员。我了解标准的 C++、C# 和 Java。 我有一个将从托管 C++ 调用的 C# 库。我使用 Visual Studio 2010 添加了 C++ 类 --> 来
我的公司已经创建了几个 COM 对象,并且他们在 .NET 中愉快地使用它们。但是现在,我们的客户想换成Java。我认为将 JACOB 或 j-interop(我不确定是哪一个)用于某些任务会很有趣,
我已经为我的 VS-2019 Porfessional 安装了所有 MFC 的东西。 我想念以前版本中用于创建简单 IDispatch 包装器的添加新项“来自 Tyspelib 的 MFC 类”。 我
我希望有人能指出我正确的方向。我分几个步骤列出了问题,希望能澄清问题。 我使用 将 C++ DLL 注册到 COM regsvr32 . 然后我使用 tlbimp 与 /主要 C++ DLL 上的属性
我有一个引用 COMSVCSLib 的 VB6 项目,其中一种方法调用 COMSVCSLib 的 SharedPropertyGroupManager.CreatePropertyGroup 传递 锁
我目前正在将 ASP 平台从 Windows 2003 R2 IIS 6 网络服务器迁移到 Windows 2012 R2 IIS 8.5 网络服务器。我正处于将多个站点迁移到两个独立的 2012 年
2010 年之前的 Delphi 版本在 Delphi 环境中有一个可以设置的选项:“所有 v-table 接口(interface)”。这将改变导入类型库时的调用约定。 2010年,这个选项消失了。
我正在尝试为来自 https://bugzilla.gnome.org/show_bug.cgi?id=680569 的 meld 应用补丁我自己,我遇到了这个问题: $ git clone git:
我有一个仅 64 位的 COM DLL,我想使用 heat.exe 从中获取 typelib 信息。但是当我尝试这样做时,我收到错误 193(错误的可执行格式)。 heat.exe 是否仅限 32 位
我是一名优秀的程序员,十分优秀!