Форум: "KOL";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизГлюк-с в массивах Найти похожие ветки
← →
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 вся ветка
Форум: "KOL";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c