Показать сообщение отдельно
  #4  
Старый 03.11.2013, 20:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,030
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Deman1986
Спасибо за ответ. Подскажите пожалуйста как описать правильно TObjectList. Просто я запутался уже, кучу литературы перечитал, а толку нет.

Ну, посмотри в справке в каком он юните описан, я не помню на вскидку, сам каждый раз смотрю

Использовать как и любой другой список (TList и т.д.) за исключением того, что если TObjectList является "владельцем" объектов в списке, то он сам вызывает деструктор при удалении объекта из списка. В остальном - все тоже самое, что и с любым списком.

У тебя и так работа со списком сегментов "спрятана" внутри классов, соотв. тебе надо будет переписать только саму работу с массива на список.

Да, и еще.
По мне, так у тебя как минимум один лишний класс. Я бы сделал так:
Код:
type
  TMemBlock = class
    // тут содержимое блока - занят или нет, базовый адрес и т.д.
  end;

  TSegemnt = class
  private
    FBlocks : TObjectList;
    // Ну и другие аттрибуты
  public
    property Blocks[Index : Integer] : TMemBlock read GetBlock; // Для прямого обращения к блоку по индексу
    ...
  end

  TRAM = class
  private
    FSegments : TObjectList;
  ...
  end;

Собственно, дальше, в зависимости от задачи, делаем методы инициализации.
Ответить с цитированием