GacUI 1.0.4.0
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 ofPtr<IValueList>
for accepting function call arguments. UnboxParameter<T>
returnsUnboxed<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>
- Reflection accepts
- 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 thisPtr<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>
.
- When the returned
- If a interface method returns a collection reference, and this interface is implemented in Workflow
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.