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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2010, 01:59   #1
anGeee
Пользователь
 
Аватар для anGeee
 
Регистрация: 18.11.2008
Сообщений: 94
По умолчанию Работа с property

Есть следующий класс
Код:
    TField = class
  private
    CellsArr : array of array of TCell;
  protected
    function GetCell(i,j : byte):TCell;
    procedure SetCell(i,j : byte; ACell : TCell);
  public
    constructor Create(m,n : byte);
    destructor Destroy(m,n : byte);
    property FCellsArr[i,j : byte] : TCell read GetCell write SetCell;
  end;
Где TCell :
Код:
  TCell = record
    CType : ctDiap;
    Letter : Char;
    Question : string[50];
    ArrowType : TArrowType;
  end;
Проблема в том, что мне надо создать свойство FCellsArr. То есть по сути, то же самое, что и в стринге гриде свойство Cells,только там у этого свойства атомарный тип,а у меня запись. И вот, что я тут написал работает(ну я надеюсь, что работает=)) только при работе с переменными типа TCell. А если я вдруг захочу сделать вот так
Код:
if AField.FCellsArr[j][i].CType = 1 then...
то это будет неправильно...
Как мне нормально прикрутить такое свойство ?...
anGeee вне форума Ответить с цитированием
Старый 08.01.2010, 02:04   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Может быть у вас вот здесь ошибка:
Код:
if AField.FCellsArr[j, i].CType = 1 then...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 08.01.2010, 02:06   #3
anGeee
Пользователь
 
Аватар для anGeee
 
Регистрация: 18.11.2008
Сообщений: 94
По умолчанию

Интересное кино однако получается.. Раньше это дело компилилось нормально,а теперь вот ошибка.. = )
//=================================== =================================== ===========
Однако, шоу продолжается )
Есть строка
Код:
AField.FCellsArr[i,j].CType := t;
Можно ли как-то сделать такое действие допустимым ? Так как, повторюсь, работать-то у меня можно только с записью TCell..

Последний раз редактировалось anGeee; 08.01.2010 в 02:12.
anGeee вне форума Ответить с цитированием
Старый 08.01.2010, 20:12   #4
anGeee
Пользователь
 
Аватар для anGeee
 
Регистрация: 18.11.2008
Сообщений: 94
По умолчанию

Ап.. = (
Невидимая строка
anGeee вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с Property!!!(Delphi) Образец№7 Помощь студентам 2 21.10.2009 00:28
св-ва в С++(аналог property в Делфи) Пепел Феникса Общие вопросы C/C++ 2 20.10.2009 21:32
Проблема с Property Sheet Longedok Win Api 3 10.07.2009 21:50