Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как сделать двумерный динамический массив свойством класса. / 15 сообщений из 15, страница 1 из 1
25.02.2020, 10:21
    #39930437
Леон4ik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Имеется двумерный динамический массив списков Record. Массив является свойством класса. Не получается обращаться к элементам этого массива и самому массиву из другого класса.
Error Index, Read, Write clause expected, but %s found. Подскажите как правильно объявить и обращаться к элементам данного массива

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Type
TGridPoint = record
    X:integer;
    Y:integer;
    ItemIndex:integer;
  end;
TArrGrid = array of array of TGridPoint;
TPageGrid = class(TImage) 
private
  FArrGrid: TArrGrid;
public
  constructor Create (AOwner: TComponent); override;
  destructor Destroy();
published
  property ArrGrid: TArrGrid;
Данный способ нашел на одном форуме, но он не работает
...
Рейтинг: 0 / 0
25.02.2020, 10:45
    #39930447
Sinemurius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
В описании свойства не указано Read.

А вообще, ну не пишите никогда "не работает". Ну даже секретарши сейчас так не пишут.

Если я напишу "Все работает" - Вам это о чем нибудь скажет ?
...
Рейтинг: 0 / 0
25.02.2020, 10:49
    #39930449
Леон4ik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Sinemurius, дело не только в Read помимо его компилятор тоже ругается( Read я уже добавил, но ошибка та же осталась). Хорошо, не не работает, скажем "Ругается компилятор"
...
Рейтинг: 0 / 0
25.02.2020, 10:56
    #39930454
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Почитать справку о том, как объявлять property
...
Рейтинг: 0 / 0
25.02.2020, 10:59
    #39930456
Sinemurius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Ну полагаю, еще пара-тройка постов и Вы соизволите таки текст ошибки опубликовать. !!!
...
Рейтинг: 0 / 0
25.02.2020, 11:35
    #39930480
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Леон4ik,

приведите код, на который ругается компилятор. В приведённом вами коде нет обращения "к элементам этого массива и самому массиву из другого класса".
...
Рейтинг: 0 / 0
25.02.2020, 12:44
    #39930537
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
property ArrGrid[X: integer; Y: integer]: TArrGrid read GetArrGrid write SetArrGrid;




function TPageGrid.GetArrGrid (X: integer; Y: integer): TGridPoint;
begin
  Result := FArrGrid[X,Y];
end;

procedure TPageGrid.SetArrGrid(X,Y: inreger; Value: TGridPoint)
begin
  FArrGrid[X,Y] := Value;
end;
...
Рейтинг: 0 / 0
25.02.2020, 18:43
    #39930729
Леон4ik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
DimaBr, Спасибо большое, мне казалось дело не только в get и set, про них я в курсе был. А еще, чуть не забыл, длину этого массива через length получать, или так не сработает и нужно писать свой length?
...
Рейтинг: 0 / 0
25.02.2020, 19:14
    #39930740
Леон4ik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Леон4ik, Ругается компилятор: "Published property cannot be of type Array" вот на эту строку
Код: pascal
1.
property PointGrid[Col, Row :integer] : TGridPoint read GetPointGrid write SetPointGrid;
...
Рейтинг: 0 / 0
25.02.2020, 19:32
    #39930749
Как сделать двумерный динамический массив свойством класса.
/
...
Рейтинг: 0 / 0
25.02.2020, 19:33
    #39930750
Леон4ik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Проблема решена, посредством перенесения всех свойств property в public(Странно что я этого еще не знал)
...
Рейтинг: 0 / 0
25.02.2020, 19:35
    #39930751
Как сделать двумерный динамический массив свойством класса.
/
...
Рейтинг: 0 / 0
25.02.2020, 23:20
    #39930820
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Леон4ik
Проблема решена, посредством перенесения всех свойств property в public(Странно что я этого еще не знал)

PUBLISHED свойство подразумевает собой редактирование в дизайнере и запись/чтение.
Как вы собираетесь редактировать свой массив и записывать его ?
...
Рейтинг: 0 / 0
25.02.2020, 23:46
    #39930826
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
Леон4ik
...А еще, чуть не забыл, длину этого массива через length получать, или так не сработает и нужно писать свой length?

...шел 2020й, Болдженос переписывался на Дельфи.
...
Рейтинг: 0 / 0
26.02.2020, 19:03
    #39931248
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать двумерный динамический массив свойством класса.
DimaBr
PUBLISHED свойство подразумевает собой редактирование в дизайнере и запись/чтение.

Он спутал. Ну не читал он книжек по дельфям, не читал. А в ютубе про это так мало написано :)
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как сделать двумерный динамический массив свойством класса. / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]