Разве общие функции Delphi не могут быть настроены на типизацию? - PullRequest
0 голосов
/ 04 декабря 2018

Я написал, как я надеялся, полезную функцию, позволяющую избежать постоянного доступа к базе данных для поиска значения на основе ключа: создайте TDictionary в одном большом чтении, а затем используйте его.

Но мой хороший код не скомпилируется:

function TBankImportCols.CreateDictionary<TKey, TValue>(const sql: string): TDictionary<TKey, TValue>;
var qry: TDataset;
begin
  result := TDictionary<TKey, TValue>.Create;
  qry := DM.CreateQry(sql);
  while not qry.Eof do begin
    result.Add(qry.Fields[0].Value, qry.Fields[1].Value);
    qry.Next;
  end;
  qry.Free;
end;

Я получил 2 ошибки: [dcc32 Error] uBankData.pas (519): E2010 Несовместимые типы: 'TKey' и 'Variant'[dcc32 Error] uBankData.pas (519): E2010 Несовместимые типы:' TValue 'и' Variant '

Используется Берлин 10.1.Кажется, что компилятор должен быть в состоянии разобраться с этим.Здесь я что-то не так делаю?

TIA Mark

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...