求助:这个算不算是 TTreeView 的一个 BUG ?

deavilness 2002-07-13 11:20:14
TreeView->Items->Delete ( TreeView->Items[0] )

编译的时候居然报错!:

[C++ Error] xxx.h(n): E2034 Cannot convert 'TTreeNodes' to 'TTreeNode *'

查了一下,手册上分明有这东西呀:
TTreeNode *TTreeNodes::operator[](int)
void TTreeNodes::Delete ( TTreeNode * )

小弟眼拙,看不出有什么类型不匹配的地方,请问有没有高手知道?
...全文
37 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
deavilness 2002-07-13
  • 打赏
  • 举报
回复
推!
deavilness 2002-07-13
  • 打赏
  • 举报
回复
楼上的 tiger111222,帮助没有写错,我翻了一下<vcl\comctrls.hpp>文件,里面有:

class PASCALIMPLEMENTATION TTreeNodes : public Classes::TPersistent
{
......
public:
TTreeNode* operator[](int Index) { return Item[Index]; }
......

头文件的声明都是一样的。
钛哥 2002-07-13
  • 打赏
  • 举报
回复
Items->Item[i] : TTreeNode*
Items[0] : : TTreeNodes*
好像帮助写错了?还是我E文不行,没看明白?
deavilness 2002-07-13
  • 打赏
  • 举报
回复
大家快发表一下意见,错误虽然可以用 Items->Item 来避开,但终究还是没有解决。
deavilness 2002-07-13
  • 打赏
  • 举报
回复
多谢楼上的 fansses ,我用 Items->Item[0] 的时候是没有问题的,但我想搞清楚这个问题。
手册上说的是:


TTreeNodes::operator []
TTreeNodes See also
--------------------------------------------------------
Operator version of Item property.
TTreeNode* operator[](int Index) { return Item[Index]; }

Description
The [] operator is equivalent to the Item property.


这个明明就是从 Items 里面取一个 Item 出来,为什么反而说是类型不对呢?
fansses 2002-07-13
  • 打赏
  • 举报
回复
还有补充一下,我用的也是BCB6

还有就是,,,,,,,,,,,,,,,不要Bug Bug Bug的说了,,,,,,,,,,,,,,,,,,

BCB哪能有这么多Bug哦,,,,,,真有那么多,动不动就是Bug的,谁还用。
jishiping 2002-07-13
  • 打赏
  • 举报
回复
TreeView->Items->Delete(TreeView->Items->Item[0]);
或者 TreeView->Items->Item[0]->Delete();
fansses 2002-07-13
  • 打赏
  • 举报
回复
TTreeNode *n=TreeView1->Items->Item[0];
TreeView1->Items->Delete (n); //TreeView1->Items[0] );


treeview通过Items属性参数管理所有树状信息,Items属性参数为节点项队列(TTreeNode)类型。

要删节点。
xulei_ice 2002-07-13
  • 打赏
  • 举报
回复
该成这样看看。

TreeView1->Items->Delete(TreeView1->GetNodeAt(X,Y)
deavilness 2002-07-13
  • 打赏
  • 举报
回复
补充:小弟用的是 BCB6。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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