以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何判断项目已经打开 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175925) |
-- 作者:2425004926 -- 发布时间:2022/3/24 10:27:00 -- [求助]如何判断项目已经打开 如何判断项目已经打开,是在 BeforeOpenProject事件里吗,是否是用FileIsOpened这个函数,下面红色里的代码应该怎么写,请老师指点 If FileIsOpened("ProjectPath & 测试项目已经打开.foxdb")= True Then |
-- 作者:有点蓝 -- 发布时间:2022/3/24 11:04:00 -- 没有办法判断Foxtable项目是否已经打开。 如果要控制项目不能重复打开,看这个:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=96880
|
-- 作者:2425004926 -- 发布时间:2022/3/24 11:20:00 -- 我用以下代码,可以实现,但是弹出窗口总是最小化在状态栏, 怎么能让它显示在桌面 static mu As System.Threading.Mutex Dim sucess As Boolean = Falsemu = new System.Threading.Mutex(True, "aaabbbccc", sucess) If not sucess Then e.Cancel = True e.hidesplashform = True \'关闭Foxtable的启动封面 MessageBox.Show("项目已经在运行,请勿重复打开!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If |
-- 作者:有点蓝 -- 发布时间:2022/3/24 11:22:00 -- 这个没有办法控制 |
-- 作者:2425004926 -- 发布时间:2022/3/24 11:53:00 -- 我让项目先打开,再退出项目,基本上实现不重复打开的功能 AfterOpenProject事件 static mu As System.Threading.MutexDim sucess As Boolean = False mu = new System.Threading.Mutex(True, "aaabbbccc", sucess) If not sucess Then MessageBox.Show("项目已经在运行,即将关闭重复打开的项目!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Syscmd.Project.Exit() Return \'这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错 End If |