inaccessible value初学实在是不懂,求大虾帮忙delphi编程!

发布网友 发布时间:2022-04-23 07:26

我来回答

3个回答

热心网友 时间:2022-06-17 16:11

inaccessible value其实并不一定是没有值,而是不能通过鼠标放到上面显示出值来,你说的这两种情况可能是有值但是不能这样显示。
关于SClen函数里面的result,应该是不能显示的情况,因为编译器不会定义一个result变量,而是直接把结果给了函数返回值。你可以试试把
Result := Round(CRadius* SeaClutterLevel/);
改成:
CRadius:= Round(CRadius* SeaClutterLevel/);
Result := CRadius;
看看CRadius是否能有正确的值。
在循环中不能显示值,原因应该是这是个函数不是变量,所以不能显示,你可以改成
a := SCLen;
for j:=a+1 to MaxCycCount-1 do
试试,看看a里面的值对不对。

热心网友 时间:2022-06-17 16:12

inaccessible value 表示值不存在
SCLen没有值说明返回值没有
然后看返回值,Result := Round(CRadius* SeaClutterLevel/);
你闲的确认SeaClutterLevel是否有值?如果他没值,运算出来也是没有值的
然后看Cradius是否有值,如果不存在
再看上面的判断,取公共变量 Radius和ARPAZoom[ARPAZoomNo])
确定Radius和ARPAZoomNo是否有值存在。

热心网友 时间:2022-06-17 16:12

建议代码贴完整,并指出在出现该错误时运行的分支及报错的语句。
现在连变量的声明都看不到无法判断问题。追问可是这个是个模拟器程序里面的,全贴出来,没法帖诶,而且程序运行的时候没有报错,您就帮我看下第一个这个自定义函数,function SCLen :integer;我又没有编写的错误,为什么运行到CRadius := Round(Radius * 5/ARPAZoom[ARPAZoomNo]);还能计算出CRadius的值,可是到了下一行Result := Round(CRadius* SeaClutterLevel/);却得不到result的值呢?

追答SeaClutterLevel在哪定义的都没看到啊,Result的值得不到是什么含义?直接写int a = SCLen会怎么样?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com