Me gustaría tener una función que tome un diccionario de cadena, matriz de variante. Por lo que se puede llamar con:¿Puedo declarar un diccionario con matriz dinámica como tipo de valor?
searchDictionary := TDictionary<string, array of variant>;
searchDictionary.Add('KEY_NAME', ['X01%', '%D01']);
aValue := TDtoClass.Search(searchDictionary)
Actualmente estoy logrando esto
searchDictionary := TDictionary<string, TList<variant>>.Create;
searchDictionary.Add('BIN_NAME', TSearch.Values(['X01%', '%D01']));
donde Tsearch es una clase que expone:
class function TSearch.Values(const arguments: array of variant): TList<variant>;
var
list : TList<variant>;
item: variant;
begin
list := TList<variant>.Create;
for item in arguments do
begin
list.Add(item);
end;
Result := list;
end;
Lo que me gustaría hacer es:
searchDictionary.Add('BIN_NAME', ['X01%', '%D01']);
en lugar de:
searchDictionary.Add('BIN_NAME', TSearch.Values(['X01%', '%D01']));
Cualquier ayuda será muy apreciada.
¿Qué es exactamente no está funcionando? ¿No compila (y en qué posición)? – jpfollenius
.Add (Nombre: cadena; a: matriz de const)? – Marck
En realidad, es una matriz dinámica en lugar de una matriz abierta. Las matrices abiertas solo existen como parámetros de procedimiento. He actualizado el título de la pregunta. –