![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Pointer + Integer
Максим В. © (2008-07-04 10:35:00)Совсем забыл Delphi. У меня есть ListView, в который надо добавить запись и данные (Data):
with ListView1.Items.Add do
begin
Caption := '...'
...
Data := число
end;
Я хочу в Data занести число (Integer) и потом его в нужный момент из нужного Item'a считать.
Как это сделать?
McSimm (2008-07-04 13:30:00) [21]я просто никак проверить не могу
McSimm (2008-07-04 13:30:00) [22]
> Leonid Troyanovsky © (04.07.08 13:27) [13]
> with ListBox1 do
> begin
> AddItem('xxx', TObject(-1));
> Caption := Format('%p', [Items.Objects[Count-1]]);
> end;
И это не выводит ошибку Out of bounds ?
Раньше выводило
Поросенок Винни-Пух (2008-07-04 13:28:00) [23]не надо в меня тыкать обджекстами.
эт оффтоп.
Leonid Troyanovsky (2008-07-04 13:27:00) [24]
> Поросенок Винни-Пух © (04.07.08 13:22) [11]
> ну или на худой конец
with ListBox1 do
begin
AddItem('xxx', TObject(-1));
Caption := Format('%p', [Items.Objects[Count-1]]);
end;
--
Regards, LVT.
McSimm (2008-07-04 13:26:00) [25]а ноль ?
:)
Поросенок Винни-Пух (2008-07-04 13:22:00) [26]ну или на худой конец
if not Assigned(p) then
-1
else
Integer(p)
McSimm (2008-07-04 13:20:00) [27]Это понятно.
Была проблема, помнится, при попытках хранить так Integer с приведением типа в Items.Object.
Поросенок Винни-Пух (2008-07-04 13:14:00) [28]procedure TForm1.Button1Click(Sender: TObject);
var p : Pointer;
begin
p := Pointer(-1);
ShowMessage(IntToStr(Integer(p)));
end;
McSimm (2008-07-04 13:13:00) [29]Подзабыл видать.
Спутал с Combo/ListBox
Поросенок Винни-Пух (2008-07-04 13:09:00) [30]Пробовал. Храню с удовольствием.
McSimm (2008-07-04 13:05:00) [31]
> зачем же так жоско?
> Data := Pointer(213);
Попробуйте так значение -1 хранить
DrPass (2008-07-04 10:44:00) [32]
> Ega23 © (04.07.08 10:42) [4]
>
> > зачем же так жоско?
>
>
> Чтобы знал, что на любую структуру можно указатель забить,
> не только на Integer
Ага, а потом он так и будет делать для любой структуры, в том числе и для Integer, и при этом еще и память освобождать не будет :)
Ega23 (2008-07-04 10:42:00) [33]
> зачем же так жоско?
Чтобы знал, что на любую структуру можно указатель забить, не только на Integer
Поросенок Винни-Пух (2008-07-04 10:41:00) [34]зачем же так жоско?
Data := Pointer(213);
Поросенок Винни-Пух (2008-07-04 10:39:00) [35]ой ой ой .....
Ega23 (2008-07-04 10:38:00) [36]var
p : PInteger;
begin
New(p);
p^:=213;
.....Data := p;
end;