以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]加载未加载表的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140987) |
-- 作者:keli0917 -- 发布时间:2019/9/18 21:50:00 -- [求助]加载未加载表的问题 1,定义两个public变量集合ALLTABLES,INTABLES, 2,在beforeLoadOuterTable那里,加入代码
ALLTABLES.add(e.datatablename) \'记录所有表
Select Case e.DataTableName \'记录已经加载的表
3,新建一个函数MYLOAD,代码如下
For Each inTable As String In inTables Next
4,在afteropenproject在最后一行写以下代码或者在第一个打开的窗口里AFTERLOAD里写以下代码
Functions.AsyncExecute("MYLOAD")
都无法加载未加载的表,请问一下是哪里错了。。。。要怎么修改。谢谢。
|
-- 作者:keli0917 -- 发布时间:2019/9/19 8:30:00 -- 求助。。。 |
-- 作者:有点蓝 -- 发布时间:2019/9/19 8:42:00 -- 先看看:http://www.foxtable.com/mobilehelp/topics/277.htm datatable不能在异步函数中使用,也就是无法异步加载。既然无法异步加载,那么这种用法比默认全部加载更慢更麻烦
|
-- 作者:keli0917 -- 发布时间:2019/9/19 16:24:00 -- http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=123060&skin=0 我是看了上面那个链接上有点红老师说的才想这样用。他说,你可以写一个异步函数,偷偷慢慢的加载全部表进来
我1楼的代码,把Functions.AsyncExecute("MYLOAD")改成Functions.Execute("MYLOAD")也无法加载。 |
-- 作者:keli0917 -- 发布时间:2019/9/19 16:26:00 -- 而且我把函数里的代码直接放在afteropenproject最后一行也没用。。。用MessageBox.show(str)查看表名又都是正确的。 |
-- 作者:keli0917 -- 发布时间:2019/9/19 16:33:00 -- 主要是表太多了,加载真的很慢,一个个分开写加载表又太麻烦,所以就想异步偷偷的慢慢加载。这样又省事,又不至于影响使用。 凡是在主线程中创建的对象,例如Table、Datatable,窗口及窗口控件,菜单及菜单组件,都不应该在异步函数中调用。 不能在异步函数中读写Var变量,不能读写设置等。 Public变量可以在异步函数中使用,但最好不要跨线程更新数据,否则很容易得到错误的结果。 如果异步函数要使用上述任何对象或数据,请另外定义一个函数来完成之,然后在异步函数中用同步方式调用此函数,有关异步函数如何调用同步函数并传递参数,我们在上一节已经介绍了。 |
-- 作者:有点蓝 -- 发布时间:2019/9/19 16:51:00 -- 只是datatable不支持异步加载。如果表和数据多,那就先不加载。用到的时候再加载,比如动态加载,分页加载,按需加载。 |
-- 作者:keli0917 -- 发布时间:2019/9/22 8:55:00 -- 遇到一个动态加载表新问题,请教: 父表A和子表B建立了关联。 父表C和子表B建立关联。 两个关联的关联列是不同的列。 ABC三个表会在同一个窗口出现。 1.应该怎么动态加载表A.B.C?
If DataTables.Contains("A") = False Then
If DataTables.Contains("C") = False Then 2.能否在加载表之前先取消关联?等加载好了再重新建立关联?
[此贴子已经被作者于2019/9/22 8:57:56编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2019/9/22 10:15:00 -- 加载多个关联表:http://www.foxtable.com/webhelp/topics/2755.htm 卸载多个关联表:http://www.foxtable.com/webhelp/topics/2756.htm |