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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |