
例如,其中一个数组项–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传递动态逻辑数组来运行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)