Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Посмотрите текст плиз


BANick ©   (2003-02-07 21:32:00) 

propert:array [0..8] of Tprop;

tprop= record
name:pstring;
list:array of pstring;
end;

.......


setlength(propert[3].list,2);
getmem(propert[3].list[0],6);
propert[3].list[0]^:="False";
getmem(propert[3].list[1],5);
propert[3].list[1]^:="True";

//в propert[3].list[0] = (xxxxxxxx,"");???
//в propert[3].list[1]=(xxxxxxxx,"True");


getmem(propert[4].name,10);
propert[4].name^:="Номер слоя";

//в propert[3].list[1]=(xxxxxxxx,"Srue"); ?!?!?!?


jack128   (2003-02-07 22:50:00) [1]

м-да... почитал чего я написал и ужаснулся


jack128   (2003-02-07 22:48:00) [2]

Строка это указатель так что размер record"а(ну же все таки на паскале пишем :))) и так постоянный(не говоря о том что дин масасив это тоже указатель)

насчет new : это процедура выделяет память под string
а под символы строки память автоматически выделяется
var s : string;//вместо статич. объявления переменной ты
пишешь New(pstring);
begin
GetMem(s,4);// Ошибка
s := "Мама";// тут автоматом выделяется память под символы
end;


BANick   (2003-02-07 22:17:00) [3]

Мне нужно, чтобы размер структуры в которой этот массив, был постоянен, а строка меняет размер, поэтому мне не подойдет просто массив строк, а new тут использовать нельзя(нужно выделить память определенного размера)


jack128   (2003-02-07 21:40:00) [4]

Посмотрел...
Я бы сделал так :

setlength(propert[3].list,2);
New(propert[3].list[0]);
propert[3].list[0]^:="False";
New(propert[3].list[1]);
propert[3].list[1]^:="True";

Но ты подумай : нужен ли тебе массив указателей на строки
Может проще просто массив строк?


Наверх

Титульная страница Поиск, карта сайта Написать письмо