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://www.pilotlogic.com/sitejoom/index.php/forum/general-purpose/3605-duplicate-unit-uniqueinstanceraw

https://forum.lazarus.freepascal.org/index.php?topic=16470.0

 

posted on 2020-08-27 12:49  sunylat  阅读(535)  评论(0编辑  收藏  举报