anchor.diff:    strict private
       FDataProvider: TmDatasetDataProvider;
       FDisplayLabelFieldName: string;
  +    FAlternativeKeyFieldName : string;
       FFieldsForLookup : TStringList;
  -    FBooleanProvider : TBooleanDataProvider;
  +    FBooleanProvider : TBooleanDatasetDataProvider;
       FCaption: String;
       FReadOnly: boolean;
       FMandatory: boolean;
  
positive.code: function TmEditingPanel.OnValueListEditorEditValue(const aCol, aRow : integer; var aNewDisplayValue : string; var aNewActualValue: variant): boolean;
  var
    calendarFrm : TmCalendarDialog;
    str : String;
    curLine : TEditorLine;
    lookupFrm : TmLookupWindow;
    tmpDatasetProvider : TReadOnlyVirtualDatasetProvider;
  
negative.code: 
          tmpDataset.Active:= true;
          tmpDataset.Refresh;
  
          if curLine.Configuration.AlternativeKeyFieldName <> '' then
            keyFieldName := curLine.Configuration.AlternativeKeyFieldName
          else
            keyFieldName := curLine.Configuration.DataProvider.GetKeyFieldName;
  
          lookupFrm.Init(tmpDataset, curLine.Configuration.FieldsForLookup,
            keyFieldName, curLine.Configuration.DisplayLabelFieldName);
          if lookupFrm.ShowModal = mrOk then
          begin
            aNewDisplayValue:= lookupFrm.SelectedDisplayLabel;
  