Hello,

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.

Michael.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to