Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2009, 15:42   #1
Костян Пират
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 103
По умолчанию Динамическое создание объектов

Пытаюсь в процессе выполнения программы вывести на экран несколько CheckBox, которые определены в массиве... вот код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Lbl1: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i, qv, qt: integer;
  mrbut: array [1..5] of TRadioButton;
  mcbox: array [1..5] of TCheckBox;

implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 for i:=1 to qv do
  mcbox[i].Free;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
 qv:=3;
 qt:=1;

 case qt of
  1:
   for i:=1 to qv do
     begin
      mcbox[i].Create(Form1);
      mcbox[i].Parent:=Self;
      mcbox[i].Top:=100 + i*30;
      mcbox[i].Left:=50;
     end;
 end;
end;

end.
а это ошибка, которая вырастает при запуске:
Изображения
Тип файла: jpg image002.jpg (29.8 Кб, 170 просмотров)

Последний раз редактировалось Stilet; 02.02.2009 в 15:53.
Костян Пират вне форума Ответить с цитированием
Старый 02.02.2009, 15:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
for i:=1 to qv do
     begin
      mcbox[i]:=TCheckBox.Create(Form1);
.............
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.02.2009, 15:54   #3
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Код:
mcbox[i] := TCheckBox.Create(...
_Engine_ вне форума Ответить с цитированием
Старый 02.02.2009, 16:04   #4
Костян Пират
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 103
По умолчанию

ё-моё... реально ступил... где-то это мы читали...
Спасибо!!!!
Костян Пират вне форума Ответить с цитированием
Старый 02.02.2009, 16:36   #5
Костян Пират
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 103
По умолчанию

ладно, с созданием чекбоксов разобрались...
а как поместить их не на форму, а скажем на GroupBox?
Костян Пират вне форума Ответить с цитированием
Старый 02.02.2009, 16:40   #6
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

указать Parent'ом GroupBox
_Engine_ вне форума Ответить с цитированием
Старый 02.02.2009, 16:50   #7
Костян Пират
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 103
По умолчанию

сделал следующее

...
mcbox[i]:=TCheckBox.Create(Form1.GrB1);
...

GrB1 - это мой GroupBox

но выводит всё равно на форму...
Костян Пират вне форума Ответить с цитированием
Старый 02.02.2009, 16:58   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Читай посты внимательнее:
Код:
 mcbox[i].Parent:=Form1.GrB1;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.02.2009, 17:06   #9
Костян Пират
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 103
По умолчанию

а Parent, блин! теперь понял, не дурак
Премного благодарен!
Костян Пират вне форума Ответить с цитированием
Старый 24.05.2011, 17:44   #10
Dpo6oDyH
 
Регистрация: 17.05.2011
Сообщений: 8
По умолчанию

У меня похожее задание, только надо на созданные динамически GroupBox`ы положить созданные таким же образом RadioButton`ы.
Делаю так:
gbox[i]:=TGroupBox.Create(Form3);
gbox[i].Parent:=Self;
gbox[i].Top:=i*110-100;
gbox[i].Left:=10;
rbut[i]:=TRadioButton.Create(gbox[i]);
rbut[i].Parent:=Self;
rbut[i].Top:=10;
rbut[i].Left:=10;
Создается 10 боксов и 1 RadioButton не в боксе. Подскажите как правильно плз.
Dpo6oDyH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание событий Fandaret Общие вопросы Delphi 4 14.05.2009 04:20
Динамическое создание компонетов Ash Общие вопросы Delphi 4 07.12.2008 01:23
Динамическое создание объекта Fruit Общие вопросы Delphi 5 24.01.2008 11:00
Динамическое создание WebBrowser DragonLand Работа с сетью в Delphi 2 20.08.2007 21:47
Динамическое создание объектов LepihinMS Общие вопросы Delphi 18 05.07.2007 23:31