anchor.diff:            UseAutosize:= true;
             Ctl:= TButton.Create(AForm);
             (Ctl as TButton).ModalResult:= cButtonResultStart+AControlIndex;
  +        end;
  +      if SValue='radiogroup' then
  +        begin
  +          Ctl:= TRadioGroup.Create(AForm);
  +        end;
  +      if SValue='checkgroup' then
  +        begin
  +          Ctl:= TCheckGroup.Create(AForm);
           end;
   
         if Assigned(Ctl) then
  
positive.code: 
  function DoGetFormResult(AForm: TForm): string;
  var
    C: TControl;
    i: integer;
    Str: string;
  begin
    Result:= '';
    for i:= 0 to AForm.ControlCount-1 do
    begin
      Str:= '';
  
      C:= AForm.Controls[i];
      if C is TEdit then Str:= (C as TEdit).Text;
      if C is TCheckBox then Str:= IntToStr(Ord((C as TCheckBox).Checked));
      if C is TComboBox then Str:= IntToStr((C as TComboBox).ItemIndex);
      if C is TListBox then Str:= IntToStr((C as TListBox).ItemIndex);
      if C is TMemo then
      begin
        Str:= (C as TMemo).Lines.Text;
        Str:= StringReplace(Str, #10, #9, [rfReplaceAll]);
      end;
  
      if Result<>'' then Result:= Result+#10;
      Result:= Result+Str;
    end;
  end;
  
  procedure DoAddControl(AForm: TForm; ATextItems: string; AControlIndex: integer);
  var
  
negative.code:         if Ctl is TListbox then (Ctl as TListbox).Items.Add(SListItem);
          if Ctl is TComboBox then (Ctl as TComboBox).Items.Add(SListItem);
          if Ctl is TMemo then (Ctl as TMemo).Lines.Add(SListItem);
          if Ctl is TCheckGroup then (Ctl as TCheckGroup).Items.Add(SListItem);
          if Ctl is TRadioGroup then (Ctl as TRadioGroup).Items.Add(SListItem);
        until false;
        Continue;
      end;
  