以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  狐爸!给你个致命的BUG【基本已解决】  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=32373)

--  作者:gsnake
--  发布时间:2013/5/1 0:37:00
--  狐爸!给你个致命的BUG【基本已解决】

打开一个新项目,没有其他任何代码!

 

在第一列的 ValidateEdit 里,放上下列代码



e.Table.Select(e.Row.Index,e.Table.Cols("第二列").index)


输入内容-验证马上无条件退出 Fox



[此贴子已经被作者于2013-5-16 11:21:31编辑过]

--  作者:jianjingmaoyi
--  发布时间:2013/5/1 10:18:00
--  
2012测试下没有问题
--  作者:VICMA
--  发布时间:2013/5/1 11:34:00
--  
确实立即退出了!
--  作者:jspta
--  发布时间:2013/5/1 13:03:00
--  
以下是引用gsnake在2013-5-1 0:37:00的发言:

在第一列的 ValidateEdit 里,放上下列代码



e.Table.Select(e.Row.Index,e.Table.Cols("第二列").index)


验证马上无条件退出 Fox



你这个可能会造成死循环的吧,把完整代码贴出来


--  作者:gsnake
--  发布时间:2013/5/1 16:44:00
--  

就这个代码!什么也没有!


--  作者:don
--  发布时间:2013/5/1 17:45:00
--  
别危言耸听!我试了没问题,且这代码位置也不合理.
[此贴子已经被作者于2013-5-1 17:49:05编辑过]

--  作者:gsnake
--  发布时间:2013/5/1 18:35:00
--  

我在我激活的笔记本机器,办公室机器!试用版、开发板全测试了!直接退出!

 

我知道代码放的有问题,准备问您了,可是直接退出,就先发这个贴了!

 

我想知道的问题是:

 

我编辑第三列,判断我的输入的合法性,合法 -继续输入第四列!不合法跳到第一列打开下拉窗口!

 

代码好像这样的

 

if e.col.name="第三列" then

   if e.text<>"合法" then

    e.Table.Select(e.Row.Index,e.Table.Cols("第一列").index)

   end if

end if

 

因为退出,所以测了一下中间代码,就发帖了

 

 

[此贴子已经被作者于2013-5-1 18:48:26编辑过]

--  作者:gsnake
--  发布时间:2013/5/1 18:38:00
--  
我装了2012测试版! 还是退出
--  作者:菲舍尔
--  发布时间:2013/5/2 0:23:00
--  

呵呵,这个不是狐表的bug,是你代码的bug

 

是你自己没有理解事件触发的概念

 

在validateedit未完成之前,你就用代码改变了触发的对象,这样会造成死循环,所以退出了狐表

 

你这个代码改在datacolchanged事件中试试

 

 

 


--  作者:gsnake
--  发布时间:2013/5/2 6:14:00
--  
呵呵! 先不说 概念 ,你觉得 输错了代码就退出不是 BUG  ?

我觉得不严谨! 程序就是一个严谨的系统,

我们给用户做程序假设这里本来要输入 “1234”, 如果输入了 “4567”。程序就无任何提示退出!! 你给用户解释,你输错了???? 

作为程序员不会这样子的吧!