起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 187|回复: 8

【结贴】record类型

[复制链接]
发表于 2010-5-26 17:30:32 | 显示全部楼层 |阅读模式
TProduct = record
    ID: string;
  end;

var
  lProduct: TProduct;
  lRootNode, lNode: TTreeNode;
begin
  lRootNode := TreeView.Items.AddFirst(nil, '根');
  lNode := TreeView.Items.AddChildFirst(lRootNode, '第一个');
  lProduct.ID := 'first';
  lNode.Data := TObject(lProduct);

  ShowMessage(TProduct(lNode.Data).ID);
end;

报错:Incompatible types: "TObject" and "TProduct"
回复

使用道具 举报

发表于 2010-5-26 17:40:30 | 显示全部楼层
定义一个类吧:
TProduct  = class(TObject)
回复 支持 反对

使用道具 举报

发表于 2010-5-26 17:44:49 | 显示全部楼层
TProduct  = class(TObject)
    private
      {private declarations}
    public
      {public declarations}
      ID:string;
    end;
回复 支持 反对

使用道具 举报

发表于 2010-5-26 17:46:47 | 显示全部楼层
感谢楼上帮忙哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-27 08:47:03 | 显示全部楼层
这个是我树上的节点,如果定义类那么稍后还需要自己遍历和释放麻烦
所以才希望用record类型,不用想着释放了
回复 支持 反对

使用道具 举报

发表于 2010-5-27 09:36:34 | 显示全部楼层
record类型不能 这么去转换。
建议楼主还是按照上面说的方式来实现。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-27 09:44:49 | 显示全部楼层
delphi里可以啊,是平台不支持这个?没有其他办法了是吧,我就是不想费事创建对象然后再释放
回复 支持 反对

使用道具 举报

发表于 2010-5-27 10:09:10 | 显示全部楼层
不支持。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-27 10:44:01 | 显示全部楼层
好,请结贴,还是写成对象,自己释放吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 21:57 , Processed in 0.041135 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表