起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 255|回复: 18

运行和初始化运行效果不一致**

[复制链接]
发表于 2009-4-14 13:37:58 | 显示全部楼层 |阅读模式
代码中有自定义的类
运行时类属性可以正常赋值,运行正常
但是初始化运行类属性的值赋不上
回复

使用道具 举报

发表于 2009-4-14 13:40:38 | 显示全部楼层
把代码贴上来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-14 13:47:37 | 显示全部楼层
//类定义
type TTreeNodeEx = class(TTreeNode) //树节点类扩展
  private
    FSubMoudleID: string;
    function GetMoudleID: string;
  public
    property MoudleID: string read GetMoudleID;
    property SubMoudleID: string read FSubMoudleID write FSubMoudleID;
  end;

function TTreeNodeEx.GetMoudleID: string;
begin
   if Parent = nil then
     result:= SubMoudleID
   else
     result:= TTreeNodeEx(Parent).SubMoudleID;
end;

赋值类似:
TTreeNodeEx(tn).FSubMoudleID:= 'xxxxxx';


每次初始化运行取到的MoudleID和SubMoudleID属性的值都是空。直接运行功能是正常的
回复 支持 反对

使用道具 举报

发表于 2009-4-14 13:50:25 | 显示全部楼层
TTreeNodeEx(tn).SubMoudleID:= 'xxxxxx';
改成这样试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-14 13:53:36 | 显示全部楼层
还是不行
回复 支持 反对

使用道具 举报

发表于 2009-4-14 14:01:46 | 显示全部楼层
var
  tn :  TTreeNodeEx;
begin

  tn := TTreeNodeEx.Create(nil);
  try
    tn.SubMoudleID:= 'xxxxxx';
  finally
//    tn.Free;
  end;
end;
你这样试试,我这边测试时可以的有值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-14 14:02:50 | 显示全部楼层
我的源代码是这样的:
tn:= TreeView.Items.AddChild(nil,lQuery.FieldByName('FCONTENT').AsString);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-14 14:12:36 | 显示全部楼层
初始化运行后,会把TreeView所有结点的自定义的属性值清空
回复 支持 反对

使用道具 举报

发表于 2009-4-14 14:16:32 | 显示全部楼层
tn是怎么创建出来的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-14 14:18:54 | 显示全部楼层
var
  tn: TTreeNode;

tn:= TreeView.Items.AddChild(nil,lQuery.FieldByName('FCONTENT').AsString);
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-22 10:53 , Processed in 0.043768 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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