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

Вниз

Данные в TreeView   Найти похожие ветки 

 
tytus ©   (2004-03-15 10:05) [0]

Добрый день всем. Вот пример программки для записи данных в элементы TreeView. Имеются: TreeView(TV1), две кнопки - первая для заполнения TV1, вторая - для вывода текста в Memo1 взятого из данных TV1.
//Описание нового типа. Взято из хелпа.
type
 PMyText=^TMyText;
 TMyText=record
   Text:string;
 end;
//Заполняем TV1 и выводим текст в Memo1.
procedure TForm1.Button1Click(Sender: TObject);
var
 i:integer;
 MyTextPtr:PMyText;
begin
for i:=1 to 10 do
begin
New(MyTextPtr);
MyTextPtr^.Text:="DATA_"+IntToStr(i);
TV1.Items.AddChildObject(TV1.Items[0],"Items_"+IntToStr(i),
       MyTextPtr);
Memo1.Lines.Add("""+MyTextPtr^.Text+"""+"  "+
       "Size="+IntToStr(SizeOf(MyTextPtr)));
Dispose(MyTextPtr);
MyTextPtr:=nil;
end;
end;
//Взято из хелпа TreeView.AddObject.
//Теперь самое непонятное - как показать в мемо строку
//взятую из указателя в элементе TV1?
procedure TForm1.Button3Click(Sender: TObject);
var
 s:string;
begin
s:=PMyText(TV1.Items[5].Data)^.Text;
Memo1.Lines.Add(s);
end;
//в результате - в мемо пустая строка...
В хелпе дан такой пример но с заголовком метки.


 
Вованчик ©   (2004-03-15 11:39) [1]

Попробуй убрать вот это:
Dispose(MyTextPtr);
MyTextPtr:=nil;


 
tytus ©   (2004-03-15 13:32) [2]

>Вованчик
Да, я убрал эти операторы (Сам докумекал, потуму как долго никто не отвечал...)
Получается, что указатели в TreeView содержат адреса выделенные процедурой NEW, а я их тут же освобождал.
Теперь все работает, а при выходе из программы в обработчике OnClose проверяю:
if TV1.Items[i].Data<>nil then
 begin
   Dispose(TV1.Items[i].Data);
   TV1.Items[i].Data:=nil;
 end;



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
4-1075293731
GrayFace
2004-01-28 15:42
2004.04.04
Как получить список шрифтоф, кодировок и т.д.


14-1078849086
ИМХО
2004-03-09 19:18
2004.04.04
Есть предел для хранения информации?


14-1078921925
}|{yk
2004-03-10 15:32
2004.04.04
Есть ли нормальные писалки Cd-RW и freeware?


1-1079077976
Fame
2004-03-12 10:52
2004.04.04
Вывод строк БЕЗ незначащих пробелов.


11-1058190384
Igit
2003-07-14 17:46
2004.04.04
белый ListView