Plugins made in Lazarus, how many have tried?
Moderators: Hacker, petermad, Stefan2, white
- ghisler(Author)
- Site Admin
- Posts: 50421
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I did (makebat, diskdir), but didn't use Lazarus forms. Instead, I have used normal Windows DialogBox() calls.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
I tried to make a WFX (file-system) plugin with Lazarus, but it failed completely due to some error in the most basic functionality. DLL_PROCESS_DETACH was called in the middle of doing something for some reason, and since this was cleaning up objects, closing handles and the like, subsequent access to that objects/handles would fail, of course - and crash TC in most cases.
After switching to Delphi all these problems were solved immediately, without changing any code (IIRC).
I don't remember, which Lazarus version I used (probably 1.0.x). Perhaps I made something wrong, I don't know. However, the same code was already working in Delphi 5.
Regards
Dalai
After switching to Delphi all these problems were solved immediately, without changing any code (IIRC).
I don't remember, which Lazarus version I used (probably 1.0.x). Perhaps I made something wrong, I don't know. However, the same code was already working in Delphi 5.
Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Re: report bugs to freepascal team
No, I didn't. First, I neither know where the problem is nor whether it is an actual bug or if I did something wrong, or if there has to be something made differently in Lazarus. You have to be sure it is a bug before you're going to report it (I was not). Secondly, I wanted to support Unicode with little to no additional effort, so there was need to use a more recent Delphi version anyway. And lastly, there are issues in Lazarus regarding strings; you never know (at least I don't) whether they have to be converted to ANSI, Unicode or UTF-8 since they're mixed all over Lazarus/FPC and the LCL. In Delphi I just use the type string and that's it.Z505_Software wrote:The question is, are you reporting the bugs to the fpc team if you have found them? I know the biggest problem with bugs is that people don't report them, so they don't get fixed.. did you report the dll_detach issue?
I agree that reporting bugs is really important. However, that would have been impossible for me since it was my first time to write a DLL and the first time to write a TC plugin. What I'm trying to say: It was pretty much work to get the plugin to do what I wanted it to do and to get it as stable as I wanted it to be. Furthermore, I don't see how I could have provided a small test case - without writing a plugin system (host and DLL) myself or the requirement for the FPC developers to use Total Commander. And, I didn't test whether my code worked in the latest Lazarus snapshot at that time; I used a stable version because I wanted the plugin to be as stable as possible.One problem with reporting bugs is you have to create a simple test case and prove the bug exists, which is sometimes hard if you don't know exactly what the bug is. You might have a big test case and making it a small test case to submit to fpc team can take time. But it is worth it because fpc team does fix many bugs...
So, I'm still not sure whether it is/was Lazarus that had issues or if it was me who had issues with Lazarus

Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror