Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.05.2010, 20:35
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
Вопрос Как при обращении к ещё не созданному элементу массива, создать его?

Доброго всем вечара.

Возник интересный вопрос. Я никогда с этим раньше не сталкивался.

Мне нужно при обращении к ещё не созданному элементу массива, создать его. Всё это делается при участии ООП.
Есть
Код:
type LocationArray = array of Integer;

TP = class
private
FLocation : LocationArray;
protected
procedure SetLocation(Location:LocationArray);
public
property Location : LocationArray read FLocation write SetLocation;
end;
...
procedure TMat4fLocations.SetLocation(Location:LocationArray);
begin
SetLength(FLocation,length(FLocation)+1);
end;
Вот как я попытался решить свою задачу. Кстати, весь код, что я привёл выше пишется в третьем модуле и подключается к любому проекту при необходимости. Так вот, тогда в рабочем проекте я просто пишу строчку:
XXX.Location[0]:=0;[/code] Я получаю ошибку AV, и не секрет почему. Ведь XXX.Location[0], то, не существует! Как мне быть, друзья? Я раньше пихал SetLength в свою рабочую прогу и не парился. Но это неудобно и по невнимательностьи можно легко выделать слишком мало (и получить опять же AV)/много памяти... Да и модуль разрабатывается на благо всех юзвергов GLSL 3.30 ( http://www.glscene.ru/forum_viewtopic.php?12.48232.60 ), а не под себя.
__________________
Делаем'c разные игры. Искать на glscene.ru
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:23.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter