Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В чем я не прав


Kopachev ©   (2002-05-22 21:51:00) 

Почему появляется ошибка: "Left side cannot be aasigned to"

Описал две записи
type
RAZDEL = record
Visible: boolean;
otstup: integer;
razdel_otstup: integer;
pos: TPoint;
podrazdel: TList;
end;

type
PODRAZD = record
num: integer;
otstup: integer;
strok: integer;
pos: TPoint;
end;

Описал массив:
Razdels: array[0..7] of RAZDEL;


type PODRAZD1 = ^PODRAZD;
podrazds: podrazd1;

Потом добавляю в список

New(podrazds);
podrazds^.otstup := 1;
podrazds^.strok := 1;


Razdels[0].podrazdel.Add(podrazds);

А вот здесь происходит ошибка.
(PODRAZD(Razdels[0].podrazdel.Items[0]^)).pos.y := 5;
Почему появляется ошибка: "Left side cannot be aasigned to"
Читать данные из (PODRAZD(Razdels[0].podrazdel.Items[0]^)).pos.y могу, а изменить элемент, находящийся в списке почему-то не могу.


Lord Warlock   (2002-05-23 09:26:00) [1]

Попробуй написать

TPoint(PODRAZD1(Razdels[0].podrazdel.Items[0])^.pos).y := 5;


Внук   (2002-05-23 09:17:00) [2]

"Left side cannot be aasigned to" - Левой части выражения не может быть присвоено значение. Попробуйте так:

PODRAZD1(Razdels[0].podrazdel.Items[0])^.pos.y := 5;
И неплохо было бы увидеть
Razdels[0].podrazdel:=TList.Create;
перед
Razdels[0].podrazdel.Add(podrazds);


allrussia   (2002-05-23 02:19:00) [3]

Левая сторона не может быть сопоставлена с...

program Produce;

const
c = 1;

procedure p(const s: string);
begin
s := "changed"; { <-- Ошибка здесь}
end;

function f: PChar;
begin
f := "Hello";
end;

begin
c := 2; { <-- Ошибка здесь }
f := "h"; { <-- Ошибка здесь }
end.

program Решение;

var
c : Integer = 1; { Use an initialized variable }

procedure p(var s: string);
begin
s := "changed"; { Use variable parameter }
end;

function f: PChar;
begin
f := "Hello"; { This is fine - we are setting the return value }
end;

begin
c := 2;
f^ := "h"; { This compiles, but will crash at runtime }

end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо