起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 137|回复: 3

【结贴】这是什么错误该如何解决呀?**

[复制链接]
发表于 2008-3-11 11:05:45 | 显示全部楼层 |阅读模式
我运行申请时,总是出如下的错误,是什么意思,可能是什么原因呢?
我在AssetTransferInfo.Info写了代码,
TAssetTransferInfo.DataSetTransferMainDataSetFieldChange(DataSet: TDataSet; Field: TDataField);
var AValue,BizURL: String;
TCOMMONUTILS.SetParamValue(Self.Context,TransferType,BizURL );

eaccessviolation.jpg

14.21 KB, 下载次数: 102

回复

使用道具 举报

 楼主| 发表于 2008-3-11 11:20:47 | 显示全部楼层

代码

function TAssetTransferInfo.SetTransferType:String;
var
        BizURL,TransferType:String;
        SourceDept,DestiDept:String;
        SDept,DDept: Business.Model.Org.Torgunit;
begin
BizURL:='Biz:\SCGATXXGLPT\ZCGLXT\AssetTransferParams.ParamGroup\TransferType.Param';
        SourceDept:=DataSetTransferMainDataSet.FieldByName('AM_Source_DEPART').AsString;
        DestiDept:=DataSetTransferMainDataSet.FieldByName('AM_Dest_DEPART').AsString;
        SDept:=Business.Model.Org.OrgSys.OrgSystem.FindUnit(SourceDept,'','');
        DDept:=Business.Model.Org.OrgSys.OrgSystem.FindUnit(DestiDept,'','');
        if SourceDept=DestiDept then
            TransferType:='0'  //科内
        else if  SDept.Parent.ID=DDept.Parent.ID then
             TransferType:='1'  //科间
        else TransferType:='2'; //处间
        TCOMMONUTILS.SetParamValue(Self.Context,TransferType,BizURL );
        DataSetTransferMainDataSet.FieldByName('AM_TransferType').AsString:=TransferType;
        Result := TransferType;

end;
好象是  else if  SDept.Parent.ID=DDept.Parent.ID then这句会出错,请问该如何写?我就是想让两部门的的父亲相同,则表示关系是一处室的两个科,
回复 支持 反对

使用道具 举报

发表于 2008-3-11 14:54:47 | 显示全部楼层
你跟踪了是吧,那
SDept.Parent.ID  和 DDept.Parent.ID  的值分别是啥?帖出来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-11 20:59:14 | 显示全部楼层

结贴吧,

原来是空指针异常引起的,下次一定记得要先判断是否会为空,
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 03:49 , Processed in 0.042832 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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