error install Lazarus 2.3 (trunk)

When compiling the first file (flexcel_core_lazarus.lpk), an error occurs:

__FlexCelVersionSpecific.pas(101,14) Error: Function header doesn't match the previous declaration "Compare(constref UnicodeString;constref UnicodeString):System.LongInt;"

Hi,
Just to make sure, can you tell me the version of Lazarus/fpc you are using?

Right now it should be lazarus trunk, as FlexCel won't compile in stable. If that is the case, they might have changed something in the object definition, I'll look at it.

If you are trying with stable, as said above, sadly we require trunk as stable still doesn't have all the stuff we need.

sorry, I just realized the post said it was trunk in the title. I'll check it here later today, something might have changed in the latest trunks.

yes, this is the trunk version. installed today.

Hi,
I've tried it and indeed I can reproduce it with the latest trunk. They seem to have changed the "constref" definitions in Equals, etc, back to consts.

There are sadly more changes than this, so I can't tell you a simple way to fix this. We will be releasing a new version to compile with this newer trunk as soon as we can.

Ok, thank you very much. I will reap!

Hi,
I looked more in detail at the issue, and it is more complex than I expected:

  1. Stable still doesn't work, so we can't target stable
  2. Windows Trunk (at revision main-2_3-3891 ) has the issues we discussed, but also if we fix those errors we start getting internal compiler errors. So it looks to me the trunk isn't stable enough right now.
  3. MacOS Trunk (at revision main-2_3-2195) still works fine with the current FlexCel (and would stop working if we updated the sources so the Windows Trunk works)

So I think we will wait a week or more here to see if at least the macos trunk is updated (problem 3) and the windows trunk is more stable (problem 2). I have kind of lost hope of seeing a stable lazarus supporting anonymous methods (problem 1)

The workaround I can think is to roll back lazarus a little and instead of using the current trunk use say the 2195 that is in macos, there FlexCel should compile fine. But I am not sure if this is possible with fpcdeluxe

Hi
The latest FlexCel 7.17 released yesterday should work now with lazarus trunk. Note that you need the latest trunk, since there was a bug in fpc up to some days ago that wouldn't allow the compiling

great news! Thank you!

are you wrong with the year?

https://doc.tmssoftware.com/flexcel/vcl/guides/lazarus-guide.html

yes, it should say 2023 :frowning:

I managed to compile flexcell under lazarus. When adding LCL.FlexCel.Core , FlexCel.Pdf, FlexCel.Render to my application, there are no errors. But! It is worth adding FlexCel.XlsAdapter, then everything crashes with an error. if you run exe separately, it says that there is no Zlib1.dll. When you add it to the project root, nothing happens. Without adding FlexCel.XlsAdapter, you cannot create an excel file. All this on windows 32 and 64.

I checked it and indeed, there seems to be a new bug in trunk that is causing it to crash.
I've reported the bug here:

Once it is fixed it should work

It is fixed now. Please retry with the latest trunk, it should work

Do not quite understand. The site still has the same version numbered 7.17.0.0. Where are the fixes? Or it is necessary to put a trunk anew?

The fixes are in FPC, not in FlexCel. You need the FPC/Lazarus version that was pushed to trunk some hours ago

Thank you! Everything is set!