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

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

Как вставить в TList элементы integer? [D6, XP]


Pavelkq ©   (2008-03-18 10:12:00) 

(Заранее прошу прощения за простоту, но для того эта ветка форума и создана)
Создаю TList и никак не могу разобраться, как туда вставить обычные переменные типа Integer?
Такое MyList.Insert(Position, MyItneger)не проходит.


Pavelkq   (2008-03-18 12:32:00) [1]


> Сергей М.

Да, получилось. Спасибо за терпение.


Сергей М.   (2008-03-18 12:20:00) [2]

MyPointer = Pointer(MyInteger)
MyInteger = Integer(MyPointer)

Вот и вся премудрость)


DrPass   (2008-03-18 12:18:00) [3]


> Типа, у меня в элементах хранятся не адреса переменных,
> а их значения?

В элементах хранится четырехбайтовое значение, по умолчанию это указатель. Как ты его будешь интерпретировать - это твое дело. Если втолкаешь туда значение, то и используй его как значение, а не как указатель


Pavelkq   (2008-03-18 12:16:00) [4]

Типа, у меня в элементах хранятся не адреса переменных, а их значения? Не могу до конца разобраться с синтаксисом.


Сергей М.   (2008-03-18 12:08:00) [5]


> В чем тут проблема?


Перечитай посты выше этого.


Pavelkq   (2008-03-18 12:06:00) [6]

Заношу в чистый массив
MyList.Insert(L, pointer(MyInteger));
ShowMessage(inttostr(PInteger(MyList.Items[0])^));

В результате, на второй строке ошибка: Accsess violation at address 047579D in module Project1...
В чем тут проблема?


Ega23   (2008-03-18 10:41:00) [7]


> Ну в списке-то не указатели на integer-значения, а непосредственно
> integer-значения
>


мммать..
Виноват, проглядел. [5] не считается.


Сергей М.   (2008-03-18 10:38:00) [8]


> ????


Ну в списке-то не указатели на integer-значения, а непосредственно integer-значения


Ega23   (2008-03-18 10:32:00) [9]


> Не соответствует вопросу.


????


Сергей М.   (2008-03-18 10:26:00) [10]


> Ega23 ©   (18.03.08 10:24) [5]


Не соответствует вопросу.


Pavelkq   (2008-03-18 10:26:00) [11]

Спасибо


Сергей М.   (2008-03-18 10:24:00) [12]


> тоже не получается


А своейголовой подумать ? По аналогии с [2] ?


Ega23   (2008-03-18 10:24:00) [13]

MyItneger:=PInteger(MyList.items(N))^;

З.Ы.
Не пора ли отправиться читать книжки?


Pavelkq   (2008-03-18 10:23:00) [14]

Отлично! А как его получить обратно?
MyItneger:=MyList.items(N) тоже не получается.


Сергей М.   (2008-03-18 10:14:00) [15]

MyList.Insert(Position, Pointer(MyItneger))


Johnmen   (2008-03-18 10:13:00) [16]


> Такое MyList.Insert(Position, MyItneger) не проходит.

Отверстие узкое?


Наверх

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