Skip to content

GacUI 1.0.4.0

Compare
Choose a tag to compare
@vczh vczh released this 31 Oct 13:22
· 142 commits to master since this release

GacUI 1.0.4.0

GacUI / C++ Interoperable Script Engine (Apache License 2.0 with extra conditions)

Website for this project: http://www.gaclib.net/

This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .

Version

This version is a sub release towards GacUI 2.0.
Please check out 1.0-rc-3 for GacUI 1.0.

Breaking Changes

  • VlppReflection
    • Reflection accepts Ptr<IValueReadonlyList> instead of Ptr<IValueList> for accepting function call arguments.
    • UnboxParameter<T> returns Unboxed<T> instead of filling the second argument.
    • Boxing a collection and then unboxing it in the same type will return the same reference in Unboxed<T>
  • Workflow
    • If a interface method returns a collection reference, and this interface is implemented in Workflow
      • When the returned Ptr<IValueX> object is being unboxed, and it is not able to return the reference object behind this Ptr<IValueX>, it throws an exception. If not, the function will dispose the collection and then return its reference, which is not good.
      • Workflow created collection instance is in this case.
      • Unboxing to a difference collection type is also in this case, e.g. Array<vint> -> Ptr<IValueReadonlyList> -> SortedList<vint>.

New Features

  • Workflow
    • Passing arguments to a C++ function accepting some collection references will no longer generate a lambda expression that will be immediately called.