以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Foxtable帮助中的一个疑问  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66116)

--  作者:黄训良
--  发布时间:2015/3/30 16:04:00
--  [求助]Foxtable帮助中的一个疑问

拆分成多个项目设计

   下面是帮助中的内容,最后两行:按帮助写完代码,项目发布后测试打开另一个模块,存在以下问题:

1、该模块中的共有窗口、主窗口不会自动打开。

2、新打开的模块 TableCaptionVisible = False 失效。

3、多个模块如何发布?

 

那么我们就可以在其他项目中通过下面的下面的代码直接打开此项目:

Dim fl As String = "C:\\foxtable\\商业版\\CaseStudy\\自定义用户管理.Table"
Syscmd.Project.Open(fl,
"吴晓","888")

传递过去的用户名为“吴晓”,密码为“888”,如果用户名和密码正确,将直接进入系统,否则出现登陆窗口。

这样每个项目都是独立的,开发的时候容易驾驭,而实际使用的时候,这些项目看起来又是一个整体(共用数据库和用户信息),能相互无缝切换。
但是采用这种方式不能采用系统内置的用户管理,必须自定义用户管理,代码的重用也不如集成在一个项目开发好。

重要提示

已经发布的项目,也可以采用上述方法打开。
发布后的项目文件位于Publish目录下的Project子目录下,文件名和原项目文件相同,后缀名为:FoxEx


--  作者:Bin
--  发布时间:2015/3/30 16:06:00
--  
1.在新项目里控制
2.在新项目里控制
3.发布后复制.foxEX文件到Project目录.

--  作者:黄训良
--  发布时间:2015/3/30 16:17:00
--  

现在是:

新模块的

Forms("共有窗口").show

Forms("主窗口").show

TableCaptionVisible = False

 

放在AfterOpenProject,不能打开?

请教应放在哪个事件?

 


--  作者:Bin
--  发布时间:2015/3/30 16:19:00
--  
没道理啊.加入messagebox.show(1) 看看是否弹出
--  作者:黄训良
--  发布时间:2015/3/30 17:07:00
--  

谢谢Bin老师

晕菜!

If OpenFileargs.Count = 2 Then \'如果传递了两个参数
    Dim UserName As String = openFileargs(0) \'获得第一个参数,也就是用户名
   
Dim cmd As New S QLCommand
    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.C ommandText = "S elect * From {Users} Where [Name] = \'" & UserName & "\'"
    dt = cmd.E xecuteReader
    dr = dt.DataRows(0)
    If dr("Password") = OpenFileArgs(1) Then
\'
如果密码等于第二个参数
       
_UserName = OpenFileargs(0)
        _UserGroup = dr("Group")

...............

...............复制一份AfterOpenProject事件中所有要执行的代码放在这儿!


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

End
If