Я пытаюсь наследовать от Tdictionary, и как-то по умолчанию теряется компаратор. Это то, что я делаю по существу:
type
TinpVar = class
end;
TinputVars = class(Tdictionary<string,TinpVar>)
end;
TLVRvars = class(TinputVars)
constructor create;
end;
constructor TLVRvars.create;
begin
inherited;
end;
var LVRvars : TLVRvars;
begin
LVRvars:=TLVRvars.create;
При этой конструкции я получаю AV при добавлении пары ключ/значение в LVRvars. В конце концов я обнаружил, что это можно предотвратить, изменив конструктор унаследованного класса на
constructor TLVRvars.create;
begin
inherited create;
end;
Я не понимаю, почему я должен это делать. Хотя моя проблема решена, мне все равно хотелось бы знать.