我的应用程序中有一个函数需要返回一个数组。我在几个地方找到了如何通过声明数组类型来实现。
type TStringArray = array of string;
然后声明我的功能
function SomeFunction(SomeParam: Integer): TStringArray;
我的问题是尝试在一个具有界面和实现的窗体中设置它。如何在界面中声明我的类型并具有该类型的函数声明?
解决方法
unit Unit1; interface uses SysUtils; type TStringArray = array of string; function SomeFunction(SomeParam: integer): TStringArray; ... implementation function SomeFunction(SomeParam: integer): TStringArray; begin SetLength(result,3); result[0] := 'Alpha'; result[1] := 'Beta'; result[2] := 'Gamma'; end; ... end.
黄金规则是单元的接口部分描述了单元使用的数据类型以及驻留在单元中的类型,类和功能(它们的签名)。这是所有其他单位看到的。实现部分包含类和函数的实现。这对于单位来说是不可见的。其他单位需要关心单位的接口,由本单位和外部单位签署的“合同”,而不是实施部分中的“实施细节”。