以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  应用拆分项目的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103027)

--  作者:douglas738888
--  发布时间:2017/6/29 12:04:00
--  应用拆分项目的问题

请教老师

 

项目A,项目B均使用同一个数据库,按照帮助拆分项目的代码,在项目A的AfterOpenProject写入了如下代码,在项目A设置了一个按钮也同样写入帮助中的代码

 

但是,出现几个问题

 

1. 通过项目A的自定义登录窗口,打开项目A后,点击按钮,能打开项目B,但是项目A就不见了

 

2. 关闭项目B后,虽然,在项目B的主窗口(窗口模式为独立)的AfterClose

设置了system.diagnostics.process.GetProcessesByName("foxtable")(0).kill  但是关闭项目B后,依然出现MainTable的全部表

如果单独打开项目B,再关闭项目B的主窗口,后面的MainTable就正常不显示,一起退出项目了。

 

3. 虽然在项目A的按钮中设置了参照下面设置的人名和登录密码,但是不起作用,自定义登录的任何人也能点击按钮打开项目B

 

   

   Dim fl As String = "D:\\foxtable\\高级开发版\\项目A.foxdb"
   Syscmd.Project.Open(fl,
"小马","777")

 

   If OpenFileargs.Count = 2 Then \'如果传递了两个参数
    Dim UserName As String = openFileargs(0) \'获得第一个参数,也就是用户名
   
Dim cmd As New SQLCommand
    Dim dt As DataTable
    Dim dr As DataRow
    cmd.C onnectionName = "User"
    If _UserName = "" Then
        Messagebox.show(
"
请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        Return
    End If
    cmd.CommandText = "Select * F rom {Users} Where [Name] = \'" & _UserName & "\'"
    dt = cmd.ExecuteReader
    dr = dt.DataRows(0)
    If dr("Password") = OpenFileArgs(1) Then
\'
如果密码等于第二个参数
       
_UserName = OpenFileargs(0)
        _UserGroup = dr("Group")

        Return
\'
直接返回,不出现登录窗口
    End
If

End
If
Forms
("用户登录").Open()

 

If _UserName = "" Then
    Syscmd.Project.Exit()
    Return \'这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
End If
\'后续初始化代码

If User.Type <> UserTypeEnum.Developer
    TableCaptionVisible = False
End If

Forms("主窗口").Open()

 

 


--  作者:有点色
--  发布时间:2017/6/29 14:08:00
--  

 

这个没办法。如果你希望打开多个,你就要发布多个,直接调用exe打开就好了。

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=102934&skin=0