[Lazarus] uniqueinstance
Martin
mailinglists at collins-email.co.uk
Sat May 23 13:33:00 CEST 2015
Brilliant, thanks very much. Feel a bit silly now as should have seen that!
Checked for the property on formdestroy only at first, which worked.
Then realised I had a massive memory leak so checked for the property in
the formcreate as well and everything works, no leaks.
Thank you for writing that component Luiz, really helpful ;-)
Best regards,
Martin Collins
On 23/05/15 11:27, luiz americo pereira camara wrote:
> Check for the property PriorInstanceRunning in FormDestroy
>
> Luiz
>
> 2015-05-23 7:12 GMT-03:00 Martin <mailinglists at collins-email.co.uk
> <mailto:mailinglists at collins-email.co.uk>>:
>
> Hi,
>
> Just need a little advice on placement of code please, thanks in
> advance.
>
> I wanted my app to have only one instance, so found uniqueinstance
> - http://wiki.lazarus.freepascal.org/UniqueInstance (it has the
> ability to pass the command line parameters from the second to the
> first instance which is something I want but haven't got round to
> testing yet!)
>
> There's no problem with uniqueinstance, from reading the source I
> think that it's terminating the second instance before the onshow
> event of the main form so I'm guessing that the formcreate and
> formdestroy events of the main form from the second instance still
> occur and that's where I think my problem is.
>
> I am using the formcreate event to parse the command line
> arguments to the constructor of my main class, which amongst other
> things unzips files to the /tmp directory. I then use the
> formdestroy to clean up, deleting the files in the /tmp directory.
>
> If I start a second instance with the same command line parameters
> as the first, uniqueinstance terminates the second instance and no
> second form is seen on screen. However, all the files are deleted
> from /tmp (formdestroy) so they are no longer available to the
> first instance so it fails. (I know in a real life situation it
> would be unlikely that the second instance would be trying to open
> the same files as the first, but not impossible.)
>
> So either I use some form of file locking or keep uniqueinstance
> and move my code. I just wanted some advice please, as to where
> people on the list would suggest I put the code to parse the
> command line parameters to the constructor of my main class and/or
> clean up code. I was looking at some of the application events in
> the myapp.lpr file but I am not sure if that is the right place?
> Any help gratefully received.
>
> Thanks,
>
> Martin Collins
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> <mailto:Lazarus at lists.lazarus.freepascal.org>
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
>
>
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20150523/5069bda0/attachment-0003.html>
More information about the Lazarus
mailing list