Blog

All Blog Posts  |  Next Post  |  Previous Post

Should we make FlexCel work in Lazarus?

Bookmarks: 

Tuesday, June 7, 2022

As many might know, FPC announced support for anonymous methods some days ago. This was one of the last pieces missing for us to be able to port TMS FlexCel to Lazarus and FPC. 

So we decided to give it a try, and after a couple of days fixing stuff, we could make it compile. It wasn't simple, there were internal compiler errors, there is missing functionality that had to be rewritten, and we haven't reached 100% of the code, but most is compiling. Of course, compiling it is one thing, but getting it to work is a different matter. When we tried, we couldn't create a simple xls or xlsx file. After a couple more days, we could get first xlsx and then xls working. We needed to do some patching in fpc, and we needed to workaround  some other stuff, but that's the point where we are at right now. All of FlexCel code is compiling. It works in simple cases, but we haven't tried our test suite yet.

You can see here a little video of Lazarus in a M1 mac (but running as intel under rosetta) of me creating a simple xlsx file.


And now comes the big question. Would you like us to spend more time on it so we add Lazarus support, or do we stop it now and focus in FlexCel for Delphi and FlexCel .NET as usual?  While we now have simple apps working, we won't launch "Lazarus support" unless we have all tests passing, and FlexCel tests are quite difficult to pass. I expect some extra weeks of work to make it all pass.

At least for now, we would focus in supporting Windows, OSX and Linux. No plans for iOS or Android.

Important: To release support for Lazarus, we will require using the Trunk release until the current trunk is promoted to stable.

We would really be interested in your opinion. If you want to share it with us, please answer the poll below or let us know what you think in the comments.




Adrian Gallero


Bookmarks: 

This blog post has received 5 comments.


1. Tuesday, June 7, 2022 at 6:42:10 PM

After more than 20 years with Delphi we are currently moving to Lazarus. So having FlexCel in Lazarus would be more than welcome!

Nick


2. Tuesday, June 7, 2022 at 7:08:44 PM

I do not know if it''s doable, but Aurelius would be a viable candidate too.

Pelletier Martin


3. Tuesday, June 7, 2022 at 7:55:40 PM

Hi Adrian,
Flexcel is a very nice library and until now I use the DLL version with Lazarus, limited to Windows. It really works fast. FPC brings more and more on the table and I would be really happy to see Flexcel ported to Lazarus.
Not sure about speed gains but this would be nice to see that such a complexe piece of code can now be handled by the FPC compiler. Of course Aurelius and XData would be nice too :)

Luc


4. Thursday, June 9, 2022 at 10:29:48 AM

In the company I''m working for, I introduced FlexCel for .Net and I''m really amazed about the quality and speed this library offers. I would not hesitate to buy a private licence for a Lazarus version. Its just the question whether there are enough customers to make it possible to maintain the code for this version of FlexCel. Thank you for your efforts to make it possible.

Ulrich Groffy


5. Tuesday, June 21, 2022 at 9:56:02 AM

Nice to see someone stress testing the anonymous functions feature. :)
If you haven''t done so already, would it be possible for you to report the internal errors you encountered (including examples to reproduce them of course), cause the more is reported (and fixed) the better this functionality will be once 3.4.0 comes around. :)
Also is there a reason you used x86_64 Lazarus on the M1? Cause it would be good to know if the code works correctly for Aarch64 as well. :)

PascalDragon




Add a new comment

You will receive a confirmation mail with a link to validate your comment, please use a valid email address.
All fields are required.



All Blog Posts  |  Next Post  |  Previous Post