Dize sözlüğünü, varyant dizisini alan bir işleve sahip olmak isterim. Ben yapmak istiyorum neDinamik dizili bir değeri değer türü olarak belirtebilir miyim?
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;
geçerli: tsearch gösterir bir sınıf olduğu
searchDictionary := TDictionary<string, TList<variant>>.Create;
searchDictionary.Add('BIN_NAME', TSearch.Values(['X01%', '%D01']));
tarafından
searchDictionary := TDictionary<string, array of variant>;
searchDictionary.Add('KEY_NAME', ['X01%', '%D01']);
aValue := TDtoClass.Search(searchDictionary)
Şu anda bu ulaşmada ediyorum: Yani ile çağrılabilir:
searchDictionary.Add('BIN_NAME', ['X01%', '%D01']);
yerine:
searchDictionary.Add('BIN_NAME', TSearch.Values(['X01%', '%D01']));
Herhangi bir yardım büyük takdir edilecektir.
çalışmıyor Ne Gerekli varyant dizisini almak için özel bir yapısı kullanabilir? Derleme yapmıyor mu (ve hangi konumda)? – jpfollenius
.Add (Ad: string; a: const dizisi)? – Marck
Aslında bu açık bir diziden ziyade dinamik bir dizidir. Açık diziler sadece prosedür parametreleri olarak mevcuttur. Soru başlığını güncelledim. –