![]() ![]() ![]() This facility is implemented as a pair of classes: SimpleIpc.TSimpleIPCServer and SimpleIpc.TSimpleIPCClient. The IdeaĮxactly as in the previous article, the main idea is using some message-oriented IPC for passing command-line data and the same mechanism should be re-used for detection of the presence of absence of the first instance of the application.įree Pascal bundles an extremely light-weight and simplified IPC library and its simplicity if very good for our purpose. The list of supported platforms is quite impressive. ![]() First of all, they created a truly cross-platform tool, including cunning UI architecture called LCL. I did not pay much attention for it for a number of years and the product gave me impression of immaturity, but couple of latest versions really impressed me. NET, replaced by much weaker, untyped System.Type type.Īnd Free Pascal community picked up the fallen flag. To name just a few: sets, enumeration type which really enumerate and can be used for indexing arrays, and, importantly, fully-fledged meta-class system, which, sadly, was not inherited by. NET features quite predictable for people experienced in Delphi.Īt the same time, the history of Object Pascal and Delphi Pascal development created whole programming culture, highly cultural, “academic” language, safe and efficient, with expressive capacity superior to many modern languages, including, in a number of aspects. NET with ease, because Delphi legacy and direct influence on. NET and C# under the leadership of former Delphi chief architect Anders Hejlsberg, who moved to Microsoft, problems with Linux version Kylix, its CLX cross-platform library and lack of unification with VCL, severe bugs in some newer versions, acquisition of Delphi by Embarcadero… Most Delphi developers migrated to. It was related to many events, first of all, creation of. Apparently, old good Delphi suffered dramatic decline. Why Pascal? And why Free Pascal? Because this is the best cross-platform technology of programming in native code I ever knew. I wrote the present article in assumption that the reader read this article and understand the ideas behind the. It came out extremely compact, so I want to share it.įor motivation and explanation of the requirements to the single application instance facility, please see the article referenced above. NET solution described in the same article, so I developed new Free Pascal solution following the model set by my. As I mentioned in my recent article referenced above, some my solutions for single-instance application behavior was not satisfactory, including the solution for Pascal. The present article is the result of coming back to my very old product written with Borland Delphi, which I wanted to port to Free Pascal with Lazarus LCL UI library and promote it from Windows-only to cross-platform code. NET it can be found here: All Three Features of Single-Instance Applications at One Shot. The previous article was on the solution for. This is a second article from the short two-article series on single-instance application behavior. Demo/Test Application, Build and Platform Compatibility.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |