起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 160|回复: 6

【结】关于自定义数据集的问题[问题]**

[复制链接]
发表于 2008-4-8 15:34:03 | 显示全部楼层 |阅读模式
在窗体BizFormCreate需要动态生成自定义数据集中的字段,代码如下:
  for I := TBizDataSet(DSTABLELIMIT_ZDY.DataSet).UserFieldCount-1 downto 0 do
    begin
      TBizDataSet(DSTABLELIMIT_ZDY.DataSet).UserFields[I].Free;
    end;
  lBizField:= TUserDataField.Create(DSTABLELIMIT_ZDY.DataSet);
  lBizField.DataSet :=TBizDataSet(DSTABLELIMIT_ZDY.DataSet);  
  lBizField.ID :='OPERSTATE_ID';
  lBizField.DisplayName :='运行状况';
  lBizField.DataType:=TDataType.dtString;
  lBizField.Size:=96;

  if not DSSECTIONZDY.DataSet.Active then DSSECTIONZDY.DataSet.Open;
  DSSECTIONZDY.DataSet.First;
  while not  DSSECTIONZDY.DataSet.Eof do
    begin
      try
      lBizField:= TUserDataField.Create(DSTABLELIMIT_ZDY.DataSet); // 数据
      lBizField.DataSet :=TBizDataSet(DSTABLELIMIT_ZDY.DataSet);   // 指定字段所在的数据集
      lBizField.ID :=DSSECTIONZDY.DataSet.FieldByName('DMID').AsString+'&';
      lBizField.DisplayName :=DSSECTIONZDY.DataSet.FieldByName('DMMC').AsString+'正向限额';
      lBizField.DataType:=TDataType.dtFloat;
      lBizField.Size:=32;

      lBizField:= TUserDataField.Create(DSTABLELIMIT_ZDY.DataSet); // 数据
      lBizField.DataSet :=TBizDataSet(DSTABLELIMIT_ZDY.DataSet);   // 指定字段所在的数据集
      lBizField.ID :=DSSECTIONZDY.DataSet.FieldByName('DMID').AsString+'&N';
      lBizField.DisplayName :=DSSECTIONZDY.DataSet.FieldByName('DMMC').AsString+'反向限额';
      lBizField.DataType:=TDataType.dtFloat;
      lBizField.Size:=32;
      except
        DSTABLELIMIT_ZDY.Free;
        DSTABLELIMIT_ZDY.DataSet.EmptyDataSet;
        raise;
      end;
      DSSECTIONZDY.DataSet.Next;
    end;

在另一界面调用这个窗体,第一次执行程序正常,关了这个窗体再次调用生成新的字段时报错,错误如图所示,跟踪代码
  for I := TBizDataSet(DSTABLELIMIT_ZDY.DataSet).UserFieldCount-1 downto 0 do
    begin
      TBizDataSet(DSTABLELIMIT_ZDY.DataSet).UserFields[I].Free;
    end;
也执行了,但是在执行上述代码后,DSTABLELIMIT_ZDY.DataSet.fields[1]  仍然有数据,是上次程序执行的数据,为什么?
添加代码:DSTABLELIMIT_ZDY.DataSet.fields.Free,又报错
如何解决?

1副本.gif

6 KB, 下载次数: 122

回复

使用道具 举报

 楼主| 发表于 2008-4-8 15:34:58 | 显示全部楼层

问题 图片

问题 图片

2副本.gif

6.86 KB, 下载次数: 122

回复 支持 反对

使用道具 举报

发表于 2008-4-8 18:31:39 | 显示全部楼层
真正测试,请稍候。
回复 支持 反对

使用道具 举报

发表于 2008-4-9 09:10:54 | 显示全部楼层
楼主参考这个帖子,估计是一个问题造成的。
http://bbs.justep.com/forum.php?mod=viewthread&tid=22416
回复 支持 反对

使用道具 举报

发表于 2008-4-17 09:02:44 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-18 15:44:49 | 显示全部楼层

搞定了

搞定了
回复 支持 反对

使用道具 举报

发表于 2008-4-18 15:54:26 | 显示全部楼层
ok,谢谢反馈
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-11 01:12 , Processed in 0.041028 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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