var
  I: integer;
  pt: String;
begin
  for I := 1 to pts do
  begin
    pt := IntToStr(I);
    with TGroupBox.Create(self) do
    begin
      Parent := frm_main;
      Name := 'grp_' + pt;
      Caption := 'Com' + pt;
      Height := 135;
      Width := 570;
      Top := 42 + (135+2) * (I div 2 - integer((I mod 2)=0));
      Left := 2 + (570+2) * ((I-1) mod 2);
      with TMemo.Create(self) do
      begin
        Parent := //--此处为上面刚创建的GroupBox,但不知如何写
        Name := 'mm_' + pt;
        Align := alClient;
      end;
    end;
  end;

解决方案 »

  1.   

    声明两个变量吧,你得写法不是好的习惯var
      I: integer;
      pt: String;
      group: TGroupBox;
      memo : TMemo;
    begin
      for I := 1 to 6 do
      begin
        pt := IntToStr(I);
        group := TGroupBox.Create(Self);
        with group do
        begin
          Parent := Self;
          Name := 'grp_' + pt;
          Caption := 'Com' + pt;
          Height := 135;
          Width := 570;
          Top := 42 + (135+2) * (I div 2 - integer((I mod 2)=0));
          Left := 2 + (570+2) * ((I-1) mod 2);
          memo := TMemo.Create(Self);
          with memo do
          begin
            Parent := group;//--此处为上面刚创建的GroupBox,但不知如何写
            memo.Name := 'mm_' + pt;
            memo.Align := alClient;
          end;
        end;
      end;
    end;