gpt4 book ai didi

delphi - 函数指针 - 初始值

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

我有一个带有某种类型函数指针的公共(public)变量的表单,如下所示:

{...}
interface
type TExternalFunction = function(var x : TAnotherCustomType): smallint;

{...}
var
MyExternalFunction : TExternalFunction;

{...}
implementation

function CreateThisForm():smalint;
begin
if (Assigned(MyExternalFunction)) then
begin
// do something
end;
end;

你看到任何可能的问题吗?

我是否必须将公共(public)函数指针显式初始化为零?
一位同事建议在表单的初始化部分将函数指针初始化为 nil,这有意义吗?

提前致谢

最佳答案

如果不初始化全局变量,它将被初始化为 0(或 nil):
http://docwiki.embarcadero.com/RADStudio/XE7/en/Variables

所以我认为该代码没有问题。但是,如果 MyExternalFunction 指向 dll 中的函数并且您稍后卸载 dll 而不将 MyExternalFunction 设置回 nil,您可能会遇到麻烦。

关于delphi - 函数指针 - 初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26333241/

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