【问题标题】:Relationship between the auto-generated code in the _TLB and the DLL file it was generated from_TLB 中自动生成的代码与生成它的 DLL 文件之间的关系
【发布时间】:2011-03-15 19:19:19
【问题描述】:

我有一个 DLL,我使用 Delphi 6 中 Project 下的 Import Type Library 功能将它作为类型库导入到项目中。我最近对 ​​_TLB.pas 文件和它生成的 DLL 之间的关系感到好奇从是。 _TLB.pas 文件是用来代替库还是仅在我有代码接口时才使用?关于 _TLB.pas 中的代码如何与生成它的 DLL 一起工作,还有哪些其他信息可以很好地了解?

【问题讨论】:

  • 这是您关于 OleVariant 的其他帖子中的 DLL 类型库吗?如果是这样,我suggested你早就导入了类型库。 :)
  • 是的。我正在尝试了解 Delphi 在我运行这个程序和导入的类型库时是如何工作的,以便更好地了解我正在使用什么。
  • 类型库是您应该一直使用此 DLL 的方式,而不是尝试将 OleVariant 类型转换为 Delphi 类(它不是)。

标签: delphi dll delphi-6 typelib


【解决方案1】:

_TLB.pas 文件是从 DLL 生成的;它是基于 Pascal 的接口,您的项目将使用它来调用 DLL 中的功能。

在编译时,您将需要 _TLB.pas;在运行时您需要 DLL。

【讨论】:

  • 来自常见问题解答:请不要在您的帖子中使用签名或标语。您发布的每个帖子都已使用您的标准用户卡“签名”,该卡直接链接回您的用户页面您已接近 10k,您现在应该已经掌握了! ;-)
  • @David:谢谢,我完全错过了。因为我到处都使用这个(非常短的 --jeroen)签名,所以它在我的自主神经系统中。将来会尽量避免在这里,但请耐心等待,因为我必须“去学习”我的系统:-)
【解决方案2】:

.pas 文件是从类型库生成的,该类型库通常包含在 COM DLL 中。

.pas 文件定义了 COM DLL 的接口。嵌入式类型库附带的 COM DLL 具有自描述接口。您仍然需要文档来了解接口和方法的作用,以及如何使用参数。但是不需要自己编写样板接口代码。

当 COM DLL 具有嵌入式类型库时,您可以使用您选择的编程语言创建导入单元,而不仅仅是 Delphi。

如果您想了解 COM,没有比 Don Box 的 Essential COM 更好的参考资料了,这是我读过的最好的计算机书籍之一。

【讨论】:

  • 您对我最后一个问题的回答似乎消失了。我不确定您是否删除了它,因为它尚未被接受,但我现在正在尝试了解更多信息,如果挂钩对我有用,我会接受的。
  • @mnuzzo 我删除了它,因为我不确定我们对你在做什么有足够清晰的了解。如果你愿意,我会取消删除它。
  • 如果您还不确定它是否合适,那么我没关系。这是我第一次使用 Delphi 和 DLL 文件,所以我不会假装没有其他可能的解决方案,或者我可能正在做的是正确的方法。我只知道我面前的代码、导致的错误以及我可以从 DLL 文件中看到的内容。
猜你喜欢
  • 2018-02-09
  • 2010-10-04
  • 2018-02-01
  • 1970-01-01
  • 2011-03-25
  • 2014-12-19
  • 1970-01-01
  • 2011-07-14
  • 2015-04-19
相关资源
最近更新 更多