#1 2015-09-20 13:44:08

jonsafi
Member
Registered: 2011-07-26
Posts: 58

Cannot compile newer versions with Delphi 2009

Hello,

Have been using Mormot successfully for quite some time now, albeit an older
version. Tried now to install several later builds,
for instance one released last August (44d7dcce95aa324)
along with the latest stable version.

In both cases, the compiler for Delphi 2009 stops/breaks at Unit 'SynZip.pas'
apparently at the end of  function TZipRead.RetrieveFileInfo(Index: integer; var Info: TFileInfo): boolean;

and just says, pointing to line 1321 'F2084 Internal Error: C12074'

Wonder if anyone has come across something similar..?
Am using Win 7 with D2009.

Any help would be much appreciated,

Cheers,
Sami

Offline

#2 2015-09-21 06:08:09

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,669
Website

Re: Cannot compile newer versions with Delphi 2009

Offline

#3 2016-02-24 15:53:16

fkaier
Member
Registered: 2016-02-24
Posts: 1

Re: Cannot compile newer versions with Delphi 2009

Hello,
'Is it tied to this http://qc.embarcadero.com/wc/qcmain.aspx?d=71292 ?' , no because in D2009 there is no option called 'msbuild' to set it to true.

Offline

#4 2016-02-24 16:16:36

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,669
Website

Re: Cannot compile newer versions with Delphi 2009

Did you try with latest version of the source code?

Offline

#5 2016-11-16 14:35:06

dbetts
Member
Registered: 2016-11-12
Posts: 3

Re: Cannot compile newer versions with Delphi 2009

The solution for this problem can be found here:
  http://stackoverflow.com/questions/7630 … -nativeint

NativeUInt is broken in D2009.

Last edited by dbetts (2016-11-16 14:35:48)

Offline

#6 2017-01-25 13:09:22

jonsafi
Member
Registered: 2011-07-26
Posts: 58

Re: Cannot compile newer versions with Delphi 2009

Hello,

Many thanks for all your help, finally went back and
changing NativeUInt to UInt did solve this mysterious problem!

Now, however, when trying to compile a D2009 application
containing the BatchSend command (as below) that used
to compile fine with a very old Mormot (from Jan '14)
gives the following error when compiling it with a new Mormot from Jan '17:

' There is no overloaded version of batchsend that can be called with
these arguments..'

Would be very grateful for any hints, am not aware of changes in BatchSend...

Cheers,
Sami

Var
AllResults: TIntegerDynArray;

 GG_globalClient.BatchSend(AllResults);

Offline

#7 2017-01-25 16:08:25

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,669
Website

Re: Cannot compile newer versions with Delphi 2009

BatchSend() now expects TIDDynArray = TInt64DynArray instead of 32-bit TIntegerDynArray (which was wrongly used in the past).

Offline

#8 2017-01-25 17:28:59

jonsafi
Member
Registered: 2011-07-26
Posts: 58

Re: Cannot compile newer versions with Delphi 2009

Thank you again, did that switch all over in the code and  finally got it to compile!

What can't figure out now is why the BatchSend fails (used to work
with old Mormot) and returns error code 400 (bad request).

Made sure that the server code too got updated & compiled...

Regards,
Sami

GG_globalClient.BatchSend(AllResults);

Offline

#9 2017-01-26 09:17:53

jonsafi
Member
Registered: 2011-07-26
Posts: 58

Re: Cannot compile newer versions with Delphi 2009

Just to add to the previous post, downloaded the latest nightly build
and now BatchSend works fine the first time when adding  a set of records.

If however, the same set of records are added again, the
application returns error code 500, 'internal server error'.
Could it be that the new Mormot
is now  complaining of key violations which went unnoticed before...

Am using the following though for addind records...:

GG_globalClient.BatchAdd(mytbl, True);

Last edited by jonsafi (2017-01-26 09:36:32)

Offline

Board footer

Powered by FluxBB