以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 调用窗口出现问题 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=114374) |
-- 作者:lake163 -- 发布时间:2018/2/4 22:12:00 -- 调用窗口出现问题 一个窗口,在窗口设计中运行没有任何问题,可是通过菜单或代码调用时,总是出现错误。 第一次调用时,进不了窗口,出现的错误提示如下: 无法将类型为“Foxtable.OOo 0 0”的对象强制转换为类型“Foxtable.Ooo_o0__”。 第二次调用时,错误又变了,提示如下: 给定关键字不在字典中。 是在窗口的AfterLoad事件中, 继续调用时,又循环出现上述提示,即:第三次与第一次相同,第四次与第二次相同。 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、窗口通过代码调用不正常时,如果通过窗口设计器运行一次后,再用代码调用又正常了。 请老师帮忙分析下原因。 [此贴子已经被作者于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
|