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

Вниз

Глюк-с в массивах   Найти похожие ветки 

 
Solik ©   (2004-03-23 09:15) [0]

Проблема с безразмерными массивами.
Есть так:
type
  TFolders = record
   Files:PList;
   FolderName:string[30];
   Path:string[255];
   InAll:boolean;
   Edit:boolean;
   end;

var

 Data:array of TFolders;

в начале программы делаю SetLength(Data,xxx) и загружаю туда свои данные, в т.ч. и PList, а потом когда в определенный момент пытаюсь сделать
 SetLength(Data,Length(Data)+1) - програма с треском вылетает
(по моему с номером ошибки 216)
Ничего понять не могу


 
mdw ©   (2004-03-23 10:52) [1]

Вроде должно работать.

Попробуй сделать packed record.

Ну или на крайняк, храни указатели на структуру, только небольшой геморой с выделением\освобождением памяти.


 
savva ©   (2004-03-23 18:07) [2]

а вот так попробуй SetLength(Data,High(Data)+1)

а вообще, я бы не стал хранить в массиве указатель на объект (потому что не знаю, как мне потом это может повернуться). если тебе нужны имена файлов - то можно также сделать как динамические массивы.


 
Solik ©   (2004-03-25 07:35) [3]

Т.е. так:

type
 TFolders = record
  Files:array of TMyFileRecord;
  FolderName:string[30];
  Path:string[255];
  InAll:boolean;
  Edit:boolean;
  end;

var

Data:array of TFolders;

В принципе сначала так и было, но мне не очень понравилось


 
KisaNetik   (2004-03-25 11:30) [4]

Я пробовал похожее, но вместо PList использовал свой тип и всё работало...
Type AStr=array of string;
А потом в TFolders можно при загрузке данных работать с ещё одним динамическим массивом...
Немного не так удобно как с PList, зато проверено на работоспособность...



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
14-1092370270
Dmitriy O.
2004-08-13 08:11
2004.09.05
48 Конгресс Европейской организации качества. Москва


1-1093189122
SergP
2004-08-22 19:38
2004.09.05
Проблема с формулами в Excel


8-1087466421
ПсихЪ
2004-06-17 14:00
2004.09.05
Wave.pas, Wave.dcu - где взять?


1-1092961526
orop
2004-08-20 04:25
2004.09.05
ListView- "осветление иконки пункта".


6-1088615393
leonidus
2004-06-30 21:09
2004.09.05
Чем заменить idHTTP