FreePascal - 如何实现程序只运行一个实例?
控制程序运行实例数有的时候很重要,尤其是有的程序只允许同时运行一个实例,那么FreePascal中是如何做到的呢?实际上已经有处理这个问题的组件了,叫“UniqueInstance ”,目前支持在window和linux下实现这样的功能!!
这个组件的官方网址:
https://github.com/blikblum/luipack/tree/master/uniqueinstance
下面举例如何在Typhon里面如何使用:
1,安装UniqueInstance所在的包:
在Typhon的顶层菜单中选择“包”->“安装/卸载包”,随后在弹出对话框中的右侧上面文本框中输入"lui"就会显示要安装的包了,包名称“pl_LuiControls 7.1.1”,选择此包,随后点击下面的向左箭头的按钮,随后点击“保存并重新构建IDE”按钮,等待Typhon编译、重启之后就可以,这个安装的控件在托盘上的名称为“LuiControls”。
2,使用UniqueInstance :
A,打开组件面板中的“LuiControls”,随后选择“UniqueInstance ”,把它直接拖到窗体里。
B,设置此控件的Enable属性为true,默认为false,到这里就全部完成了,就可以控制只运行一个程序实例了!!
参考:
https://wiki.freepascal.org/UniqueInstance
https://forum.lazarus.freepascal.org/index.php?topic=16470.0