добавление новой строки в ObjectList

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
sema_90
незнакомец
Сообщения: 6
Зарегистрирован: 10.11.2013 13:50:31

добавление новой строки в ObjectList

Сообщение sema_90 »

Я пока в самом начале, при добавлении в список записи происходит ошибка

Код: Выделить всё

TMemBlock = class
    Name:string;
    Size:integer;
    Start:integer;
    Time:integer;
    StartTime:integer;
    StartBlock:integer;
    constructor create(AName:string; ASize,AStart,ATime:integer); 
end;

var ListTask,ListOper,ListEndOper,ListUnoper:TobjectList;

constructor TMemBlock.Create(AName:string; ASize,AStart,ATime:integer);
  begin
    Name:=AName;
    Size:=ASize;
    Start:=AStart;
    Time:=ATime;
  end;

procedure TFAppend.Button1Click(Sender: TObject);
begin
  ListTask.Add(TMemBlock.Create(LEName.Text,StrToInt(LESize.text),
             StrToInt(LEStart.text),StrToInt(LETime.text)));
end;

Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Сообщение hinst »

Код: Выделить всё

  ListTask := TObjectList.Create(...); // сделать не забыл ?
sema_90
незнакомец
Сообщения: 6
Зарегистрирован: 10.11.2013 13:50:31

Сообщение sema_90 »

да, тупанул немного))

а если у меня список пуст, это не может вызывать исключение в следующем :

Код: Выделить всё

var obj:pointer;
begin
for obj in ListOper do
    begin
      if TMemBlock(Obj).StartTime+TMemBlock(Obj).Size-1>=t then
        begin
         ...
        end;
    end;


Добавлено спустя 15 часов 12 минут 47 секунд:
и еще такой опрос при обращении

Код: Выделить всё

TMemBlock(Obj).Size


при создании все правильно записывается, а при обращении из другого модуля он мне выдает числа которые я туда не записывал. в uses я сослался на модуль.

а выражение

Код: Выделить всё

floor(TMemBlock(Obj).Size/SizeBlock)


дает ноль.
Ответить