#1 2017-11-02 21:16:37

NJL
Member
Registered: 2015-04-22
Posts: 5

Unable to Compile ...2017-10-31_120956_9eb16ccca7, Delphi 2010 Win32

I just tried to update my mORMot source today and when I attempt to compile it in Delphi 2010 it complains the following:


   [DCC Error] SynCommons.pas(12324): E2137 Method 'TerminatedSet' not found in base class

I'm unsure what to do to make it work.

Regards,
Nick

*UPDATE - Solved*

I had to comment out the HASTTHREADTERMINATESET line in Synopse.inc. Line #429

{$if CompilerVersion >= 21.0}
      // Delphi 2010/XE: Reduce EXE size by disabling much RTTI
      {$define ISDELPHI2010}
      {$define ISDELPHI2010_OR_FPC_NEWRTTI}
      {$define FPC_OR_UNICODE}
      {$define HASTTHREADSTART}
   // {$define HASTTHREADTERMINATESET}
      {$define HASINTERFACEASTOBJECT}
      {$ifdef NEWRTTINOTUSED}
        {$WEAKLINKRTTI ON}
        {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
      {$endif NEWRTTINOTUSED}
    {$ifend}

Last edited by NJL (2017-11-03 20:01:23)

Offline

#2 2017-11-05 16:25:15

uian2000
Member
Registered: 2014-05-06
Posts: 68

Re: Unable to Compile ...2017-10-31_120956_9eb16ccca7, Delphi 2010 Win32

Same error, same solution.

I've searched my dev environment, Delphi XE, found no method named TThread.TerminateSet.

I've searched that method on EMB api wiki, and it was first seen on version XE2.
http://docwiki.embarcadero.com/Librarie … dset&go=Go

I think we should make a more accurate condition of CompilerVersion.
By the way XE2 CompilerVersion is 23.

Offline

#3 2017-11-05 21:04:22

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

Re: Unable to Compile ...2017-10-31_120956_9eb16ccca7, Delphi 2010 Win32

Offline

#4 2017-11-05 23:30:11

uian2000
Member
Registered: 2014-05-06
Posts: 68

Re: Unable to Compile ...2017-10-31_120956_9eb16ccca7, Delphi 2010 Win32

Thx ab.
That patch works for me.

Offline

Board footer

Powered by FluxBB