以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  调用窗口出现问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114374)

--  作者:lake163
--  发布时间:2018/2/4 22:12:00
--  调用窗口出现问题
一个窗口,在窗口设计中运行没有任何问题,可是通过菜单或代码调用时,总是出现错误。
第一次调用时,进不了窗口,出现的错误提示如下:
     无法将类型为“Foxtable.OOo 0  0”的对象强制转换为类型“Foxtable.Ooo_o0__”。

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

第二次调用时,错误又变了,提示如下:
      给定关键字不在字典中。
是在窗口的AfterLoad事件中,

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

继续调用时,又循环出现上述提示,即:第三次与第一次相同,第四次与第二次相同。
AfterLoad事件前面几句:

For Each dtb As DataTable In DataTables  
    dtb.AllowEdit = False
Next
Dim tbl2 As Table =  Tables("排序筛选")
tbl2.sort = "序号"
Dim mnu As Winform.Strip = e.Form.Strips("主菜单")
Dim itm As WinForm.StripItem
问题好像就是这最后两句,似乎此时窗口的主菜单并没有生成。

请问:可能是什么原因啊?



[此贴子已经被作者于2018/2/4 22:52:21编辑过]

--  作者:有点甜
--  发布时间:2018/2/4 22:57:00
--  
贴出你调用的代码。比如 doubleclickrowheader 事件代码
--  作者:lake163
--  发布时间:2018/2/4 23:02:00
--  
很简单,就是Forms(“查询专用”).open()
在事件中,其他窗口中都不行
[此贴子已经被作者于2018/2/4 23:05:19编辑过]

--  作者:有点甜
--  发布时间:2018/2/4 23:04:00
--  
以下是引用lake163在2018/2/4 23:02:00的发言:
很简单,就是Forms(“窗口”).open()
[此贴子已经被作者于2018/2/4 23:02:13编辑过]

 

那不可能报错,实例发上来测试。


--  作者:lake163
--  发布时间:2018/2/4 23:11:00
--  
现在不好操作,明天吧。
--  作者:lake163
--  发布时间:2018/2/5 16:21:00
--  
今天花了很长的时间,将该窗口的所有事件删除,并农个删除控件,来查找问题,但仍然无法排出问题。

该窗口,有主表(在页面1,作为主表、副本表都试过)、主表字段的RecordGrid(在页面2)、主表的若干关联表(假如在页面3)。
排查情况如下:
1、当只留下页面1、页面2时,窗口通过代码调用正常。
2、当增加主表的关联表时(关联方式为单向),窗口通过代码调用,有时正常、有时不正常,而且与关联表的个数无关。
3、窗口通过代码调用不正常时,如果通过窗口设计器运行一次后,再用代码调用又正常了。

请老师帮忙分析下原因。

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



[此贴子已经被作者于2018/2/5 16:29:16编辑过]

--  作者:有点甜
--  发布时间:2018/2/5 16:28:00
--  

你page3的表格个数控制一下,全部删除,然后一个一个添加测试。看哪个有问题。

 

你这种问题,要做实例才能知道具体什么问题。


--  作者:lake163
--  发布时间:2018/2/5 17:59:00
--  
费了很大劲,终于发现问题所在,过程如下:
1、将所有控件、事件全部删除,只保留一个关联子表;
2、逐个测试10个关联子表,发现只有两个正常,其余均不正常。从关联类型看,10个均是一致的。
3、这10个关联子表在另一个窗口中也有,但在第2步正常的两个是独立显示,其他的与存在问题的窗口一样是在页面集合里分页显示。
    据此,怀疑是另一个窗口的问题,将此窗口关闭,一切正常。
可,为什么关联子表不能在两个页面集合里呢?

[此贴子已经被作者于2018/2/5 18:02:33编辑过]

--  作者:有点甜
--  发布时间:2018/2/5 18:13:00
--  

如果是关联表问题。关联表只有1个,只能显示在一个地方,当另一个地方要显示,是相当于剪切过去的。

 

建议你用副本表模拟关联表 http://www.foxtable.com/webhelp/scr/2222.htm