#1 2020-12-16 10:35:46

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

Incompatible types error when compiling with D2009...

Hello,   
                                                                                                                                                                                                                 
The new version now goes much further in compilation with Delphi 2009
than previous ones, but unfortunately
compiling with D2009 produces an 'incompatible types' error whenever
testing for  the Boolean

   BlobField^.IsBlob 

as in the following in file  mORMorSQLite3.pas:

 
function TSQLRestServerDB.MainEngineUpdateBlob(TableModelIndex: integer; aID: TID;
  BlobField: PPropInfo; const BlobData: TSQLRawBlob): boolean;
var SQL: RawUTF8;
    AffectedField: TSQLFieldBits;
    Props: TSQLRecordProperties;
begin
  result := false;
  if (aID<0) or (TableModelIndex<0)
  or not BlobField^.IsBlob then // ERROR occurs here due to this boolean condition
     exit;

Does anyone have a clue as how to fix this..?

Much obliged,
regards, Sami

Offline

#2 2020-12-16 12:47:07

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

Re: Incompatible types error when compiling with D2009...

I don't have any Delphi 2009 compiler at hand.
Current trunk has no troubles on my side with Delphi 2010:

********** mORMot integration using Delphi 2010 *********

Switches=-B -Q -GD -O\dev\lib\SQLite3 -R\dev\lib -Ec:\temp\tempbuild\exe -Nc:\te
mp\tempbuild\dcu -B -Q -DINCLUDE_FTS3 -GD -U\dev\lib;\dev\lib\sqlite3;\dev\lib\s
yndbdataset;\dev\lib\crossplatform;\dev\lib\sqlite3\DDD\dom;\dev\lib\sqlite3\DDD
\infra -I\dev\lib;\dev\lib\crossplatform -NSSystem;Xml;Data;Datasnap;Web;Soap;Wi
napi;Vcl;System.Win

Embarcadero Delphi for Win32 compiler version 21.0
Copyright (c) 1983,2009 Embarcadero Technologies, Inc.
364250 lines, 2.11 seconds, 4503480 bytes code, 193992 bytes data.

Try to disable inline; for this method.

Delphi 2009 was really a buggy beast... sad

Offline

#3 2020-12-16 17:02:33

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

Re: Incompatible types error when compiling with D2009...

OK, thanks a lot for the tip smile. Happily commenting

{or not BlobField^.IsBlob }

will clear the error, and it seems to be an integrity check that won't affect other parts.

Yes, too bad that while introducing new features in D2009, they also brought in
a whole set of new bugs sad.

Offline

Board footer

Powered by FluxBB