以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 教程也会错吗?还是我漏了什么条件? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148195) |
||||
-- 作者:hitzfeld -- 发布时间:2020/4/2 3:31:00 -- 教程也会错吗?还是我漏了什么条件? 最近一直在学习自定义用户与权限管理,老规矩,先照抄一遍,再按自己的思路改。但是,在学习自定义用户与权限管理之二的时候,发现到了最后的步骤: 十、将项目事件AfterOpenProject的代码改为: Dim
cmd
As
New
SXQLCommand Forms("用户登录").Open() 下面是后半截代码,如果把下面代码复制进去,则系统必定闪退,不加这部分代码就正常。为了测试这个问题,我连续做了两个相同的系统。结果都一样。 If
_UserName = ""
Then 但是,教程里的案例则没有问题?我分析了下原因,应该是系统运行的时候UserName = ""就退出,我抄的系统在运行的时候,系统还没加载用户表就运行了项目事件判断,然后UserName 这时候是空值,所以执行了退出。实际运行中也发现,如果不把If _UserName = "" Then....这段程序加进去,运行到“用户登录”界面的时候,用户名这栏就是空值。但是,如果我在窗口设计器里面,选择“应用窗口”,则用户名这栏是有正确的值的。百思不得其解,研究了快一天了,也没找到问题在哪里? 整个系统,我除了把数据源名称改为我这里的名称以外,没有修改任何一个字,也就是把cmd.ConnectionName = "User"的user改为我的数据源。 最后,还有个悲剧的问题,之前有个步骤我没做(因为觉得没必要): 三、打开Foxtable的用户管理,增加一个用户,并将其设置为默认用户,这样打开项目的时候,将不会出现foxtable的用户登录窗口。 然后,在调试找不到原因之后,我很不幸的把这个加上去了,现在更惨了,原本还能按住ctrl进系统调试,现在是任何用户名进去都是闪退,麻烦版主帮忙解开下。
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/2 10:20:00 -- 登录窗口改为模式窗口 |