以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  进度条问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=184117)

--  作者:edisontsui
--  发布时间:2022/11/24 9:56:00
--  进度条问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:进度条问题.rar

附页的进度条代码(第1页和第7页黄底黑字)是放在 DataColChanged 里面的,但是执行时会出现如下提示,注释掉进度条代码就不会有提示了,请问是什么原因呢?

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表,组装送货单总表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

--  作者:有点蓝
--  发布时间:2022/11/24 10:26:00
--  
判断一下窗口是否打开了,才能使用窗口里面的东西
if Forms("xxx").opened
p = Forms("xxx").Controls("ProgressBar1")

--  作者:edisontsui
--  发布时间:2022/11/24 10:50:00
--  
        \'设置进度条
        Forms("进度条1").open
        Dim lncnt As Integer = drs1.Count
        Dim p As WinForm.ProgressBar
        If Forms("进度条1").opened Then
        p = e.Form.Controls("ProgressBar1")
        p.Maximum = lncnt \'设置最大值
        p.Minimum = 0 \'设置最小值
        p.Value = 0 \'设置当前值    
        end if

我加了上面红色字体的三句代码,还是一样出现提示,而且不会显示进度条。

--  作者:有点蓝
--  发布时间:2022/11/24 10:52:00
--  
p = Forms("xxx").Controls("ProgressBar1")
--  作者:edisontsui
--  发布时间:2022/11/24 11:19:00
--  
        \'设置进度条
        Forms("进度条1").open
        Dim lncnt As Integer = drs1.Count
        Dim p As WinForm.ProgressBar
        If Forms("进度条1").opened Then
        p = Forms("进度条1").Controls("ProgressBar1")
        p.Maximum = lncnt \'设置最大值
        p.Minimum = 0 \'设置最小值
        p.Value = 0 \'设置当前值    
        end if

上面的改法出现提示:未声明 "Form"。它可能因其保护级别而不可访问。

--  作者:有点蓝
--  发布时间:2022/11/24 12:07:00
--  
这个代码不可能有问题,检查其它地方