Tôi muốn có một hàm lấy từ điển chuỗi, mảng biến thể. Vì vậy, nó có thể được gọi với:Tôi có thể khai báo từ điển có mảng động dưới dạng loại giá trị không?
searchDictionary := TDictionary<string, array of variant>;
searchDictionary.Add('KEY_NAME', ['X01%', '%D01']);
aValue := TDtoClass.Search(searchDictionary)
Tôi hiện đang đạt được điều này bằng cách
searchDictionary := TDictionary<string, TList<variant>>.Create;
searchDictionary.Add('BIN_NAME', TSearch.Values(['X01%', '%D01']));
nơi Tsearch là một lớp học đó cho thấy nhiều:
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;
Những gì tôi muốn làm là:
searchDictionary.Add('BIN_NAME', ['X01%', '%D01']);
thay vì:
searchDictionary.Add('BIN_NAME', TSearch.Values(['X01%', '%D01']));
Mọi trợ giúp sẽ được đánh giá cao.
gì chính xác là không làm việc? Nó không biên dịch (và ở vị trí nào)? – jpfollenius
.Thêm (Tên: chuỗi; a: mảng const)? – Marck
Thực ra đó là một mảng động chứ không phải là một mảng mở. Các mảng mở chỉ tồn tại dưới dạng tham số thủ tục. Tôi đã cập nhật tiêu đề câu hỏi. –