Tengo una función en mi aplicación que necesita devolver una matriz. He encontrado en un par de lugares cómo hacerlo al declarar el tipo de matriz, p.¿Cómo devolver una matriz desde una función Delphi?
type
TStringArray = array of string;
Y luego declarar mi función
function SomeFunction(SomeParam: Integer): TStringArray;
Mi problema es tratar de configurar esto en un formulario que tiene interfaz y la implementación. ¿Cómo declaro mi tipo y tengo una declaración de función con ese tipo en la interfaz?
"Matriz de cadena" se considera generalmente como "no idiomática" en Delphi. TStringList generalmente es preferido. –
Normalmente utilizo el sufijo "DynArray" para nombrar dicha definición de tipo, para hacer una distinción entre una matriz dinámica y estática: 'TStringDynArray = array of string; TStringArray = array [0 .. (maxInt div sizeof (string)) - 1] of string; 'Pero no hay una convención oficial al respecto. –
@Warren P: Tenga en cuenta que la nueva unidad 'FileIO' utiliza que es parte de la XE RTL utiliza' TStringDynArray' ampliamente. Entonces no estoy de acuerdo con que no sea idiomático. Especialmente si desea devolver el conjunto y recorrerlo usando un enumerador, esto es muy conveniente (para obtener un ejemplo, consulte 'TDirectory.GetFiles'). – jpfollenius