【发布时间】:2012-03-24 11:02:23
【问题描述】:
我们有一个充满自定义组件的项目,目前在 Lazarus 和 Delphi 中运行。
我在考虑代码接口就可以了,但我对它们不是很熟悉。我想知道的是:Delphi 和 Lazarus 接口的实现细微差别是什么?有什么需要特别注意的吗?我需要编写真正不同的东西吗?
背景说明: 我认为组件可以从接口中受益,或者至少,我会从中学到更多。例如,其中一个组件使用串行端口与许多不同的硬件进行通信。但是用户应该只使用我们的组件来创建应用程序。因此,我们拥有每个硬件的组件和一个类,这些硬件是基类的后代。在运行时,我们在组件内创建特定的类。
不确定是否需要最后的解释,但如果你们需要,我可以写更多。
【问题讨论】:
-
这里是
basic reading关于 FreePascal 中的接口。作为一个非常快速的结论,我会说,如果您的目标是 Windows 平台并且您将使用 Windows COM 架构(接口源自 IUnknown),那么 Delphi 的代码将没有区别,但您的问题的答案应该更多复杂。 -
“实施细微差别”是什么意思?听起来这对你来说并不重要。重要的是您是否可以编写对两个编译器意味着相同的代码,而不管每个编译器如何实际实现接口。
-
@DavidHeffernan 我的意思是“实施中的细微差别”。也许我不能编写对两者都意味着相同的代码,但也许我不需要为每个编译器编写所有东西。我问只是因为我希望有,但我不知道在这种情况下两个编译器是否有任何区别。现在清楚了吗?
-
@TLama 谢谢。我将查看该文本,并可能与 embarcadero 文档进行比较。我的目标是 Windows,这些接口一开始只会在应用程序内部使用。我必须承认我对这个话题了解不多。 :|
-
不是很清楚。对不起。
标签: delphi interface freepascal lazarus