anchor.diff:    LValues.ViewStyle := vsReport;
     FFieldsList := TStringList.Create;
     FDisplayFieldNames := TStringList.Create;
  +  FFieldDefs := TmVirtualFieldDefs.Create;
   end;
   
   destructor TmLookupPanel.Destroy;
   begin
     FFieldsList.Free;
     FDisplayFieldNames.Free;
  +  FFieldDefs.Free;
     inherited Destroy;
   end;
   
  
positive.code:     finally
        LValues.EndUpdate;
      end;
    end;
  end;
  
  
negative.code:   curValue : Variant;
    curDatum : IVDDatum;
  begin
    FDataProvider := aDataProvider;
    FDataProvider.FillVirtualFieldDefs(FFieldDefs, '');
  
    FKeyFieldName:= aKeyFieldName;
    FDisplayFieldNames.Clear;
    if Assigned(aDisplayFieldNames) then
      FDisplayFieldNames.AddStrings(aDisplayFieldNames)
    else
      FDataProvider.GetMinimumFields(FDisplayFieldNames);
  
    LValues.BeginUpdate;
    try
      FFieldsList.Clear;
      if Assigned(aFieldNames) then
        FFieldsList.AddStrings(aFieldNames)
      else
        FDataProvider.GetMinimumFields(FFieldsList);
  
      for i := 0 to FFieldsList.Count -1 do
      begin
        col := LValues.Columns.Add;
        col.Caption:= GenerateDisplayLabel(FFieldsList.Strings[i]);
        col.Width:= 200;
      end;
  
  