我假设我的问题可能已经存在于SO知识库中,只是我找不到它。如果是这种情况,请指导我找到原始问题,并投票将此问题关闭为重复问题。
这个问题与传递数组参数给过程有关。
以下情况简单直观且有效:
procedure MyProc(const A: array of ShortString);
begin
//
end
现在我可以调用MyProc
并直接向它传递字符串:
MyProc(['no', 'trump', 'please']);
如果我声明一个ShortString类型的数组,会发生什么?
type
TMyArray = array of ShortString;
procedure MyProc(const A: TMyArray);
begin
//
end
有没有一种方法可以直接传递数组类型的参数来执行
MyProc
?也就是说,使用与上面相同的过程调用。+奖励问题:
type TMyRecord = record
param, value: ShortString
end;
procedure MyProc(const R: TMyRecord);
begin
//
end
有没有一种技术可以调用过程并传递类型记录的值?类似于(伪代码):
MyProc((TMyRecord.param='aaa', TMyRecord.value='bbb'));
我提出这个问题的原因是:我不想声明一个变量并对其进行设置。相反,我希望直接将数组/记录值作为过程参数传递。
array of string
,Code Insight就会停止工作。针对这个特定的例子,我使用了短字符串,这不会影响程序运行。 - Interface Unknown