gpt4 book ai didi

delphi - 在 Delphi 中重命名 DLL

转载 作者:行者123 更新时间:2023-12-03 17:59:40 33 4
gpt4 key购买 nike

假设我有一个用 Delphi 编写的大型 ActiveX 库,我们称它为 Lib1.dll。它包含多个接口(interface)。任务是将库重命名为 Lib2.dll,以便另一个应用程序可以同时从 Lib1 和 Lib2 调用这两个方法。我想用下一种方式来做:

  1. 将 Delphi 项目重命名为 Lib2(这将重命名库)。
  2. 将 *Lib1_TLB.pas* 文件替换为具有相同内容的 *Lib2_TLB.pas* 文件,但具有接口(interface)和组件类的新 GUID。
  3. 将新的 GUID 粘贴到 Lib2.ridl
  4. 从该 ridl 生成新的 Lib2.tlb 文件,这应该没问题。

但事实并非如此。我收到 Delphi 错误“找不到 Lib1.ridl 文件”。好的,将 ridl 和 tlb.pas 重命名回 Lib1,编译和构建正常,但是注册 ActiveX 服务器会使 IDE 崩溃。请建议我重命名库的方法或如何使我当前的进度正常工作。

最佳答案

我假设您使用的是最新版本的 Delphi,使用 .ridl 文件作为 COM 接口(interface),因此请记住它是处理 COM 的中央单元。您可以先将 ridl 文件从 Lib1.ridl 复制并重命名为 Lib2.ridl。然后在 Lib2.ridl 中,而不是 _TLB.pas(自动重新创建)重新生成库的 GUID 和组件类的 GUID。接口(interface)可能保持不变。之后,您应该能够生成 tlb 并刷新 _TLB.pas,最后构建并注册新库。

关于delphi - 在 Delphi 中重命名 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9061211/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com