English 中文(简体)
是否可安全地将某种方法作为记录的成员?
原标题:Is it safe to pass a pointer to a method as a member of a record?
  • 时间:2009-10-02 21:27:24
  •  标签:

我想履行一项职责,即接受记录为准参数,而这一记录是一些有点人 routine的田地。 这是否安全?

最佳回答

是的,拥有其他要点的记录点是完全安全的。

但是,你的标题提到了methods。 DLs很少要求使用方法点,因为在Delphi和C++建筑商中只有方法点。 DLs撰写的希望能使用其他工具的书面材料将要求普通职能点人,因此请人注意,方法点为not,与站立的分行人兼容。 如果你试图混淆这些错误,汇编者通常会bal碎,但类型预测会打上错误的信息。 作为umb,如果你重新定位功能点或方法点,你会再做错事。 如果您的类型声明和职务声明正确,你就不必进行分类。

同样,如果你重新使用<代码>@的操作员,以建立一个功能点或方法点,你可能会这样做是错误的。 在大多数情况下,汇编者可以自动发现和指定兼容的编码点,而没有你告诉它有点。 使用@可抑制一些Delphi s类型检查。

问题回答

我看不出为什么。 我认为,与程序/方法有关的所有通常问题都适用,因此,如果目标是一个方法点,就需要存在。

它是安全的,但你应当认识到两个问题:

当地变数被宣布为地方变数的记录储存在堆积中,一旦功能恢复,就会消失。 您应考虑以新的/处置职能分配/分配这些职能。

如果DLL将被用于除德尔菲(或甚至可能不同版本的审校)以外的一项方案,那么你必须使用包装记录。





相关问题
热门标签