以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]发布的项目出现如图错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94812)

--  作者:2900819580
--  发布时间:2017/1/3 8:34:00
--  [求助]发布的项目出现如图错误

图片点击可在新窗口打开查看此主题相关图片如下:ds.png
图片点击可在新窗口打开查看


发布的项目出现如图错误,窗体无法关掉,但在任务管理器中关闭窗口,重新再启动,又可以。

--  作者:有点色
--  发布时间:2017/1/3 9:42:00
--  
 重新发布几次试试。
--  作者:2900819580
--  发布时间:2017/1/3 14:33:00
--  
间断式的,有时会有,有时又没有,有些电脑会这样,有些电脑又不会。
--  作者:xndd
--  发布时间:2017/1/3 14:48:00
--  
从语法上来说是委托问题,技术角度来说,是引用了委托但是失败了,是不是你没有安装2.0的Net框架?
--  作者:2900819580
--  发布时间:2017/1/4 10:26:00
--  
各位大师,多次发布还是有这样的现象,在每次升级完成后,开启第一次会出现
--  作者:有点色
--  发布时间:2017/1/4 11:30:00
--  
 看看你项目事件,把项目事件的代码,都删除一下测试,然后逐渐增加代码,看是哪些代码有问题。
--  作者:2900819580
--  发布时间:2017/1/6 16:19:00
--  
老师,都试过,还是会有

Syscmd.Project.Update(False,False)
BaseMainform.Text = "上格生产管理系统"
Forms("登录窗口").Open()
If _UserName = "" Then
    Syscmd.Project.Exit()
    Return \'这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
End If
Tables("BOM").Cols("子阶代码").DropForm = "物料表查找下拉"
Tables("生产车间欠料表").Cols("物料代码").DropForm = "物料表查找下拉"
Tables("常用物料总表").Cols("子阶代码").DropForm = "物料表查找下拉"
\'MessageBox.Show(_userRoles)
If _userRoles Like "*采购订单*" Then
    \' MessageBox.Show("VVV")
    RibbonTabs("采购管理").Visible = True
End If
If _userRoles Like "*系统管理员*" Then
    RibbonTabs("系统").Visible = True
End If

Tables("Users").Visible = False


--  作者:有点色
--  发布时间:2017/1/6 16:46:00
--  

1、 在一台报错的电脑上,直接拷贝你发布好可以正常运行的项目,覆盖掉原来的出错的项目,看是否还打开报错。

 

2、 你把你的项目事件的代码,都清空了吗?清空后测试。 如果确实还报错,你就卸载重新安装一下.net framework


--  作者:2900819580
--  发布时间:2017/1/9 21:06:00
--  
试过重新安排.net framework   
试过重新封包和安装
问题依旧

只要有升级就会这样子,升级过了就不会有问题??也就是升级过后,再打开就不会出现这样的问题。

--  作者:有点蓝
--  发布时间:2017/1/9 21:23:00
--  
试试

if Syscmd.Project.Update(False,False) = false then
BaseMainform.Text = "上格生产管理系统"
Forms("登录窗口").Open()
If _UserName = "" Then
    Syscmd.Project.Exit()
    Return \'这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
End If
Tables("BOM").Cols("子阶代码").DropForm = "物料表查找下拉"
Tables("生产车间欠料表").Cols("物料代码").DropForm = "物料表查找下拉"
Tables("常用物料总表").Cols("子阶代码").DropForm = "物料表查找下拉"
\'MessageBox.Show(_userRoles)
If _userRoles Like "*采购订单*" Then
    \' MessageBox.Show("VVV")
    RibbonTabs("采购管理").Visible = True
End If
If _userRoles Like "*系统管理员*" Then
    RibbonTabs("系统").Visible = True
End If

Tables("Users").Visible = False
end if


目的是希望打开项目的时候自动升级,然后打开窗口1。
但是上述代码肯定会在升级成功之后提示错误,因为一旦升级成功,Foxtable就会关闭,后面的打开窗口代码就会出错,当然后续其它的代码也一样会出错。
我们可以用下面的代码避免错误:

If Syscmd.Project.Update(False,False) = False Then \'如果没有升级
    
Forms("窗口1").open()
    \'后续其它代码
End
 If