加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何完成通过函数的无类型参数传递的记录?

发布时间:2020-12-15 09:40:32 所属栏目:大数据 来源:网络整理
导读:我可以将“任何”记录类型传递给我的程序吗? 我多次使用带有字符串的“记录”. type TR = record a: string; b: string; end; 要清除它们,我需要写: Finalize(R);FillChar(R,SizeOf(R),#0); 问题是如何通过任何类型的记录来清除它? 为此我得到了这个提示
我可以将“任何”记录类型传递给我的程序吗?

我多次使用带有字符串的“记录”.

type 
  TR = record
    a: string;
    b: string;
  end;

要清除它们,我需要写:

Finalize(R);
FillChar(R,SizeOf(R),#0);

问题是如何通过任何类型的记录来清除它?

为此我得到了这个提示:“表达式不需要初始化/完成”.

procedure ClearRecord(var R);
begin
  Finalize(R);
  FillChar(R,#0);
end;

感谢您的每一个信息!

解决方法

不要让它过于复杂.如果您不想写两行来清除记录,请考虑声明:

Const TR_Empty: TR = ();

并使用它:

R := TR_Empty;

并且正如其他人所评论的那样,执行此操作的通用程序并不值得付出努力.

如果您有Delphi-2009或更新版本,此代码对清除记录有效:

R := Default(TR);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读