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

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

Проблема с DATA


Страницы:   1 2

PSPF2003 ©   (2006-06-29 11:28:00) 

День добрый.
Есть вот такая конструкция:

type
 TDescription=class
  Name : String[255];
  Description : TStrings;
  constructor Create;
  destructor Destroy; override;
 end;

constructor TDescription.Create;
begin
 Description := TStringList.Create;
end;

destructor TDescription.Destroy;
begin
 Description.Free;
 inherited;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 Node : TTreeNode;
 Opis : TDescription;
begin
 Opis := TDescription.Create;
 Opis.Name := 'Name';
 Opis.Description.Add('Description');

 Node  := TTreeNode.Create(TreeView1.Items);
 Node.Data := Opis;
 TreeView1.Items.Add(Node, 'Node');
end;

И в следующей процедуре происходит ошибка (Access Violation)

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
 Edit1.Text := TDescription(Node.Data).Name ;
 Memo1.Lines.Assign(TDescription(Node.Data).Description);
end;

Почему не могу понять Если кто знает в чем я ошибся подскажите.


Ega23   (2006-06-29 11:45:00) [21]


> Неа, он присваивает Data одному TTreeNode, в TreeView создаёт
> ещё один узел, по типу и на уровне, перед этим созданного.
>  А читать Data пытается вообще не понятно у какого узла.
>


Здесь как раз, вроде, всё в порядке.
Автор, на какой строке у тебя AV выпадает?


PSPF2003   (2006-06-29 11:44:00) [22]


> Плохиш ©

А как правильно нужно?


Плохиш   (2006-06-29 11:40:00) [23]


> Ega23 ©   (29.06.06 11:32) [2]

Неа, он присваивает Data одному TTreeNode, в TreeView создаёт ещё один узел, по типу и на уровне, перед этим созданного. А читать Data пытается вообще не понятно у какого узла.


Ega23   (2006-06-29 11:32:00) [24]

Description : TStringList;


Плохиш   (2006-06-29 11:31:00) [25]


Node := TreeView1.Items.Add(nil, 'Node');
Node.Data := Opis;


Страницы:   1 2

Наверх

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