我的应用程序中有一个需要返回数组的函数。我在几个地方发现了如何通过声明数组类型来做到这一点,例如
type
TStringArray = array of string;
然后声明我的功能
function SomeFunction(SomeParam: Integer): TStringArray;
我的问题是尝试以同时具有接口(interface)和实现的形式进行设置。如何声明我的类型并在接口(interface)中具有该类型的函数声明?
最佳答案
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.
黄金法则是,单元的
interface
部分描述了该单元使用的数据类型,以及该单元中驻留的类型,类和函数(它们的签名)。这是所有其他单位看到的。 implementation
部分包含类和函数的实现。这对其他单位不可见。其他单位需要关心该单位的界面,该单位与外部单位签署的“契约(Contract)”,而不是在实现部分中找到的“实现细节”。