数组 – Delphi传递动态逻辑数组来运行

数组 – Delphi传递动态逻辑数组来运行,第1张

概述我有一个Dynamc数组记录,我希望通过引用将数组中的一个项目传递给函数 例如,其中一个数组项–Arrray [1] .arecorditem是一个由6个字符组成的字符串String [6] 功能将是 – function dosomething(var AStringVal:string):Integer; 所以我会执行 Aresult:= dosomething(AArray[1].areco 我有一个Dynamc数组记录,我希望通过引用将数组中的一个项目传递给函数

例如,其中一个数组项–Arrray [1] .arecorditem是一个由6个字符组成的字符串String [6]

功能将是 –

function dosomething(var AStringVal:string):Integer;

所以我会执行

Aresult:= dosomething(AArray[1].arecorditem);

但是当我尝试编译时,我得到实际和正式var参数的错误类型必须相同.

这是可能的,还是应该将数组项分配给字符串,然后将字符串传递给函数.

谢谢

科林

解决方法 你的问题标题和实际问题是不一样的,所以我将概述这两个主题.

您需要定义一个数组类型

TMyRecord = record  FIEld1: String  FIEld2: Stringend;TMyRecordArray = Array of TMyRecordfunction DoSomething(const ARecordArray: TMyRecordArray): Integer;

这是您想要将整个动态数组项传递给函数.如果你只想传递一个项目,你可以像这样定义函数:

function DoSomething(const ARecord: TMyRecord): Integer;

现在,如果要将FIEld1的值传递给函数,则必须将函数定义为:

function DoSomething(const AFIEld: String): Integer;

你不能将参数定义为varor,你最终会得到你得到的错误!

额外:

正如其他人所说的那样,如果你在字段中使用固定长度的字符串,则需要将其定义为类型,就像我上面为TMyRecordArray演示的那样.

TString6 = String[6];

对于FIEld和函数Parameter,请使用Type.

总结

以上是内存溢出为你收集整理的数组 – Delphi传递动态逻辑数组来运行全部内容,希望文章能够帮你解决数组 – Delphi传递动态逻辑数组来运行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1268176.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存