Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

Проблема с массивом   Найти похожие ветки 

 
nikolas   (2005-10-19 17:43) [0]

Добрый день!

Есть тип TMyArray = array[0..n] of TObject;
объявляю в классе поле:
type
 TMyClass = class
 private
   FMyArray: TMyArray;
 public
   property MyArray: TMyArray read FMyArray;
 end;

когда пытаюсь обратится к элементу
MyArray[0]:=TObject.Create... получаю ошибку "left side cannot be assigned to".
Что здесь неправильно?


 
MetalFan ©   (2005-10-19 17:45) [1]

ну ясен пень! у тебя ж пропертя readonly!!
...write FMyArray еще нуна


 
MetalFan ©   (2005-10-19 17:45) [2]

упс... гоню...


 
MetalFan ©   (2005-10-19 17:47) [3]

а попробуй не TObject.Create, а TMyClass.create написать...
TObject это ж вроде абстрактный класс... или я опять гоню? )


 
begin...end ©   (2005-10-19 17:53) [4]

> nikolas   (19.10.05 17:43)

Тип свойства MyArray -- TMyArray. Это массив. Значит, этому свойству можно присвоить значение только целого массива типа TMyArray. И только в том случае, если оно не read-only.

Выход -- например, сделать индексированное свойство (понадобится ещё написать методы для чтения и записи поля).

Хотя, в принципе, есть способ сделать почти так, как делаете Вы. Но так лучше не делать.


 
umbra ©   (2005-10-19 17:55) [5]

1) Вы объявили свойство, доступное только для чтения. Чтобы иметь возможность что либо ему присвоить оно должнобыть объявлено как доступное для чтения и записи. А чтобы получить доступ к элементам массива, это должно быть свойство-массив.  В общем, объявлять надо так:


property MyObj[index: Integer]: TObject read GetElement write SetElement;


А затем в процедурах GetElement и SetElement что-то делать с FMyArray



Страницы: 1 вся ветка

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.069 c
4-1126204799
alexa
2005-09-08 22:39
2005.11.13
DlgDirList


2-1129802515
Андрей__
2005-10-20 14:01
2005.11.13
DBLookUpComboBox


6-1122587129
nik2be
2005-07-29 01:45
2005.11.13
Перехват и замена содержимого пакета в реальном времени


4-1126641620
Nick Denry
2005-09-14 00:00
2005.11.13
Требуется создать ListBox


14-1129801746
pavel_guzhanov
2005-10-20 13:49
2005.11.13
какую локальную БД лучше использовать