xml および lua コードに値を保存し、RTTI を介してオブジェクトのプロパティにアクセスしています。
var
  o, v: TValue; // o is current object
  a: TStringDynArray; // params as array
  ctx: TRttiContext;
  tt: TRttiType;
  p: TRttiProperty;
  pt: PTypeInfo;
begin
...
  ctx := TRttiContext.Create;
  try
    o := GetLastClassInParams(ctx, obj, a, param_idx);
    tt := ctx.GetType(o.TypeInfo);
    if high(a) < param_idx then
        raise Exception.Create(S_FN + S_NOP);
    p := tt.GetProperty(a[param_idx]);
    if p = nil then
        raise Exception.Create(S_FN + S_PNE + a[param_idx]);
    pt := p.PropertyType.Handle;
    case p.PropertyType.TypeKind of
      tkInteger: v := TValue.From<integer>(integer(Value));
      tkEnumeration: v := TValue.FromOrdinal(pt, GetEnumValue(pt, VarToStr(Value)));
      tkUString: v := TValue.From<string>(VarToStr(Value));
      tkFloat: v := TValue.From<double>(double(Value));
      tkSet: begin
          temp_int := StringToSet(pt, VarToStr(Value));
          TValue.Make(@temp_int, pt, v);
        end;
    else v := TValue.FromVariant(Value);
    end;
    p.SetValue(o.AsObject, v);
Width、Lines.TextTMemo など、Panels[0].WidthTStatusBar (Panels は TCollection の子孫)などの多くのプロパティを操作できますが、そのようなTStringGrid.Cells[x, y]ものは解決できません。Embarcadero のようないくつかの機能に関するヘルプがありますGetIndexedProperty(おそらくそれが必要なのかもしれません) が、"Gets Indexed Property".  
TStringGrid.Cells[x,y]のような文字列として値が保存されている場合、実行時に RTTIを設定して取得する方法は"Cells[1,1]"?