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

Вниз

Посмотрите текст плиз   Найти похожие ветки 

 
BANick   (2003-02-07 21:32) [0]

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 21:40) [1]

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

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";

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



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

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


 
jack128 ©   (2003-02-07 22:48) [3]

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

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


 
jack128 ©   (2003-02-07 22:50) [4]

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



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
3-52804
vikser
2003-01-31 17:02
2003.02.17
Консольное приложение и DataModule с ADO????


14-53191
ZeroDivide
2003-01-30 16:50
2003.02.17
Новая идеология программирования


1-52996
SergeN
2003-02-10 13:47
2003.02.17
StringGrid


1-52983
ltexcimer
2003-02-10 11:29
2003.02.17
номер строки в StringGrid


1-53062
Jaxtor
2003-02-06 17:27
2003.02.17
TStringList