高手请进--指针的简单使用(online waiting)

olivertree 2003-01-19 08:12:01
我建了一个指针变量,以便将系统编码存在树节点的Data里面,然后在设备查询时使用,可是为什么只能找到一个系统编号?
mystruc *p=new mystruc;


for(int j=0;j<treedispQry->RecordCount;j++)
{
TreeID=mytree->Items->AddChild(Node,treedispQry->FieldByName("sysname")->AsString);
//存放id
if(TreeID!=NULL)
{
p->tID=treedispQry->FieldByName("syscode")->AsString;
TreeID->Data=p;
ShowMessage(p->tID);
}
treedispQry->Next();
}



syscode=((mystruc *)Node->Data)->tID;

treedispQry->Close();
treedispQry->SQL->Clear();
AnsiString sqlstr3;
sqlstr3.printf("select devcode,DevName\
from Dev\
where SysCode='%s'\
order by devcode",syscode);
treedispQry->SQL->Add(sqlstr3);
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
大大怪老张 2003-01-20
  • 打赏
  • 举报
回复
楼主的问题到处贴。
copy_paste 2003-01-20
  • 打赏
  • 举报
回复
俺都是构造中Load, 析构中free
halibut 2003-01-20
  • 打赏
  • 举报
回复
~~!
TO: NowCan(能量、激情、雨水、彩虹——雷雨云)
你.........
NowCan 2003-01-20
  • 打赏
  • 举报
回复
void __fastcall TSDIAppForm::TreeCompDeletion(TObject *Sender, TTreeNode *Node)
{
if(Node->Data)
{
delete Node->Data;
}
}
是这个事件。
NowCan 2003-01-20
  • 打赏
  • 举报
回复
mystruc *p=new mystruc; //这句不要
mystruc *p;//改为这个

for(int j=0;j<treedispQry->RecordCount;j++)
{
TreeID=mytree->Items->AddChild(Node,treedispQry->FieldByName("sysname")->AsString);
//存放id
if(TreeID!=NULL)
{
p=new mystruc; //<<<-------加
p->tID=treedispQry->FieldByName("syscode")->AsString;
TreeID->Data=p;
ShowMessage(p->tID);
}
treedispQry->Next();
}

OnNodeDelete事件里这样写。
mystruc *p;
p=(mystruct *)Node->Data;//这个Node不知道对不对,反正就是这个函数的一个参数。
delete p;
zangyang 2003-01-19
  • 打赏
  • 举报
回复
老兄还在吗
说的清楚一点好不好

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧