我想履行一项职责,即接受记录为准参数,而这一记录是一些有点人 routine的田地。 这是否安全?
是否可安全地将某种方法作为记录的成员?
原标题:Is it safe to pass a pointer to a method as a member of a record?
最佳回答
是的,拥有其他要点的记录点是完全安全的。
但是,你的标题提到了methods。 DLs很少要求使用方法点,因为在Delphi和C++建筑商中只有方法点。 DLs撰写的希望能使用其他工具的书面材料将要求普通职能点人,因此请人注意,方法点为not,与站立的分行人兼容。 如果你试图混淆这些错误,汇编者通常会bal碎,但类型预测会打上错误的信息。 作为umb,如果你重新定位功能点或方法点,你会再做错事。 如果您的类型声明和职务声明正确,你就不必进行分类。
同样,如果你重新使用<代码>@的操作员,以建立一个功能点或方法点,你可能会这样做是错误的。 在大多数情况下,汇编者可以自动发现和指定兼容的编码点,而没有你告诉它有点。 使用@
可抑制一些Delphi s类型检查。
问题回答
我看不出为什么。 我认为,与程序/方法有关的所有通常问题都适用,因此,如果目标是一个方法点,就需要存在。
它是安全的,但你应当认识到两个问题:
当地变数被宣布为地方变数的记录储存在堆积中,一旦功能恢复,就会消失。 您应考虑以新的/处置职能分配/分配这些职能。
如果DLL将被用于除德尔菲(或甚至可能不同版本的审校)以外的一项方案,那么你必须使用包装记录。
相关问题
热门标签
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding