急啊,急!(35分)

  • 主题发起人 主题发起人 Free_sky
  • 开始时间 开始时间
F

Free_sky

Unregistered / Unconfirmed
GUEST, unregistred user!
new(ATemp);
ATemp^.vid :=trim(fieldbyname('id').AsString);
SelectNode.Data:=allocmem(sizeof(TTemp));
code:=Ptemp(SelectNode.Data)^.vid;
showmessage(code);
treeview1.Items.BeginUpdate;
InsertNode:=treeview1.Items.AddChildObject(SelectNode,str,ATemp);
treeview1.Items.EndUpdate;
为什么code得不到值呢,总是空值。请各位DFW指点!急用。
 
--->SelectNode.Data:=allocmem(sizeof(TTemp));
---> 对Ptemp(selectNode.data)^.vid赋值的语句呢?
---> code:=Ptemp(SelectNode.Data)^.vid;
 
我不明白为什么要写这句:SelectNode.Data:=allocmem(sizeof(TTemp));

一段示例:

//把Text值赋予DATA
procedure TForm1.Button1Click(Sender: TObject);
begin
new(Mystate);
Mystate^.vid := TReeview1.Selected.Text; //这里可改为你定义的值
Treeview1.Selected.Data := MyState;
end;

//显示当前所选的DATA
procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage(PMyRec(Treeview1.Selected.Data)^.vid);
end;
 
谢谢两位的指点!我还有一个问题,本想再提个问题,只是小弟太穷了,哎!
我就一个表,树形图载入的是这个表的信息,还有几个query用这个表,第一次
增加节点的时候没有问题,表里也可以插入记录,再增加一个节点就有错误了
提示:‘Table is read only!’是什么原因呢?还有一个错误是:‘capability
not supported’是什么错误,请DFW们帮我啊!
 
多人接受答案了。
 
我估计你是用PARADOX吧,第一个问题在PARADOX经常会出现,好象要配置什么。NET文件,不过
你换成ACESS就不会出现这种问题了;第二个是你的表索引坏了,重建索引就OK。
 
后退
顶部