| 
| 
 | Вопрос # 6 064/ вопрос решён / | 
 |  Доброго времени суток, уважаемые эксперты!Подскажите пожалуйста как правильно инициализировать массив компонентов TGroupBox?
 я написал вот так, но увы это не работает...
 
  gb:array[0..1]of TGroupBox = (grpDescription, grp1); 
|  |   Вопрос задал: disillusion (статус: Посетитель)Вопрос отправлен: 10 апреля 2012, 17:20
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: DNK Здравствуйте, disillusion!Инициализировать массивы указанным способом можно только через константы или константные выражения. А для объектов в паскале константа увы только одна -- nil.
 Потому инициализировать конкретными значениями можно только в коде, например в обработчике событий OnCreate.
 
 procedure TForm1.FormCreate(Sender: TObject);
begin
  gp[0] := grpDescription;
  gp[1] := grp1
end;или так 
 procedure SetGp(Arg: array of TCheckBox);
var i: integer;
begin
  for i := 0 to Length(Arg) - 1 do
    gp[i] := Arg[i];
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  SetGp([CheckBox1, CheckBox2]);
end;
|  | Ответ отправил: DNK (статус: Студент)Время отправки: 10 апреля 2012, 21:19
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо Вам за совет!Все работает! ^^
 |  
 Мини-форум вопросаВсего сообщений: 4; последнее сообщение — 10 апреля 2012, 21:06; участников в обсуждении: 2. 
|   | min@y™ (статус: Доктор наук), 10 апреля 2012, 19:57 [#1]:Чо компайлер говорит-то? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | min@y™ (статус: Доктор наук), 10 апреля 2012, 19:59 [#2]:А, ну да. Такие массивы можно ж только константами инициализировать. А переменными типа так: 
 gb[0]:= grpDescription;
gb[1]:= grp1;Только зачем это надо? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | disillusion (статус: Посетитель), 10 апреля 2012, 20:50 [#3]:не хочет воспринимать следующий код: 
 const
  gb:array[0..1]of TGroupBox = (grpDescription, grp1);пишет: 
 Build
  [Error] Unit1.pas(53): Undeclared identifier: 'grpDescription'
  [Error] Unit1.pas(53): Constant expression expected |  
|   | min@y™ (статус: Доктор наук), 10 апреля 2012, 21:06 [#4]: Цитата (min@y™): Такие массивы можно ж только константами инициализировать. 
 Цитата (disillusion): Constant expression expected Ну вот!
 К тому же ещё
 
 Цитата (disillusion): Undeclared identifier: 'grpDescription'  Какая цель всего этого? Скажи, что тебе нужно-то.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  10 апреля 2012, 21:41: Статус вопроса изменён на решённый (изменил автор вопроса — disillusion) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |