Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> доступ к элементу массива класса из, этого класса 
:(
    Опции темы
SANCHO123
Дата 16.4.2009, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.5.2008

Репутация: нет
Всего: нет



Здравствуйте!

Есть классы TElement и TShema 


Код

TElement=class
private
  FSlaveElements: TList;

  function GetElements(index: integer): TElement; 
  procedure SetElements(index: integer; const Value: TElement); 
  ...
public
  property SlaveElements[index: integer]: TElement read GetElements write SetElements;
  procedure AddSlaveElement(value: TElement);
end;

TShema=class
private
  FElements= array of TElement;
  function GetElements(Index: integer): TElement;
  ...
public 
  property Elements[Index: integer]: TElement read GetElements;
  Create(AElementCount: integer);
end;



Например:

S:=TShema.Create;
......
S.Elements[1].AddSlaveElement(S.Elements[2]);
S.Elements[1].SlaveElements[0] -- и это как бы ссылка на 2 элемент

что нужно писать в function GetElements и procedure SetElements в классе TElement ??????
можно ли в FSlaveElements хранить указатели на S.Elements[i] ???
PM MAIL   Вверх
RomanEEP
Дата 17.4.2009, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 18.5.2006
Где: Коломна

Репутация: 5
Всего: 8



Код

function GetElements(index: integer): TElement; 
begin
  Result := TElement(FSlaveElements[Index]);
end;

procedure SetElements(index: integer; const Value: TElement); 
begin
   FSlaveElements[Index] := Value;
end;


Цитата(SANCHO123 @  16.4.2009,  19:08 Найти цитируемый пост)
можно ли в FSlaveElements хранить указатели на S.Elements[i] ???

указатели можно хранить где угодно и в любом количестве, втч на один и тот же объект
главное, чтобы объекты удалялись ТОЛЬКО В ОДНОМ месте. В твоем случае это лучше сделать внутри TShema.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0650 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.