[fpc-devel] Google APIs - update

Michael Van Canneyt michael at freepascal.org
Sat May 16 10:23:41 CEST 2015


There seems to be a problem with RTTI and dynamic arrays when using the i386 compiler 
(using register calling conventions). This affects the (JSON) serialization used in 
the Google APIs.

This problem is definitely present in the 2.6.4 compiler. Since that is the compiler 
used by current/recent Lazarus versions, I have created a workaround for this problem in the 
Google API files and have committed the necessary changes for this.

It is possible that this problem is also present in the 3.x (trunk) version of the compiler,
but this is not quite clear yet. As I currently have no access to a development system 
with the 3.X/i386 compiler, I cannot test this (yet). If the problem is confirmed, the 
simple solution is to enable the workaround for 2.6.4 in trunk as well (pending a fix 
in the compiler).

Other changes in the commit are:
- The code generator has experimental support for using lists of objects instead of arrays.
   I have tested this support in the google calendar demo, and it works.
   It requires regenerating the google api files using the provided generator program.

   As a side effect: using object lists would also alleviate the problem of the compiler bug.

- Support for nested resources. (such as used in Gmail)

- A GMail demo has been committed to the lazarus source tree.

- Fix for a bug when doing write operations.

I have tested all demos on Linux 64-bit (trunk/2.6.4) and Windows 32-bit (2.6.4 only)

If you find a problem on Windows 32-bit (trunk), please let me know.


More information about the fpc-devel mailing list