DWScript 2.2 RC1

A 7zip for DWScript 2.2 RC1 (345 kB) has been posted, changes since the beta:

  • improved unit tests coverage to 90% overall, core compiler units now above 93%
  • packages separated into compile-time & design-time (thanks Stefan Glienke)
  • fixed several issues related to dynamic arrays of function pointers (thanks Alexey Kasantsev)
  • fixes to exposure of public methods through RTTI
  • Delphi 2009 compatibility changes (thanks Oliver)
  • implicit casts from enumerations to integers have been re-enabled
  • unit tests updated to compatibility with latest Delphi Chromium Embedded

If no major issues are uncovered, this version will become 2.2 final, and evolution for 2.3 will initiate.

FireMonkey’s TCube & Tessellation

a cubeIf any of you had a look at FireMonkey’s TCube object, you might have noticed rendering it is quite slow and quite complex.

If you were curious enough to look at the code, you might have noticed that TCube is actually a static mesh made up of 452 vertices, 1440 indices and 480 triangles, instead of the 8 vertices and 6 quads (12 triangles) one could have expected.

(more…)

DWScript 2.2 beta

Delphi Web Script 2.2 is now in “beta”, and a DWS 2.2 Beta zip (337 kb)  is available.

No new features are expected up to the next stage (RC), only improvements to unit tests, to reach the psychological 90% code coverage milestone.

Changes since 2.2 preview 4:

  • extended “for in” syntax to work on all array types
  • support dynamic arrays new pseudo-method “IndexOf(item[, fromIndex])”
  • extended “in” operator to test presence of an item in an array: “item in dynamicArray” & “item not in dynamicArray”
  • support scoped enumerations for Delphi compatibility (“TMyEnum.Enum1”)
  • support “@” operator for explicitly obtaining function pointers
  • added TdwsBreakpointableLines class, which provides info about all source lines upon which a breakpoint is possible (useful for IDE “blue dots” support f.i.)
  • optimizations for “var” parameters and passing var parameters as var parameters
  • introduced minor optimization for multiple string concatenation (str1+str2+str3+…)
  • fixed dynamic array’s pseudo-method “.Add()” for arrays of delegates
  • improved unit tests coverage, various fixes (thanks again to Alexey Kazantsev)

For the curious ones looking at the SVN, there are actually other improvements and additions, but those aren’t ready just yet, and won’t be part of 2.2, but of 2.3.