diff --git a/Tutorial/Console_Workflow/W02_InvokingCppClasses/Main.cpp b/Tutorial/Console_Workflow/W02_InvokingCppClasses/Main.cpp index 0ba2c351..59ce42fe 100644 --- a/Tutorial/Console_Workflow/W02_InvokingCppClasses/Main.cpp +++ b/Tutorial/Console_Workflow/W02_InvokingCppClasses/Main.cpp @@ -12,7 +12,7 @@ using namespace vl::workflow::runtime; namespace myapi { - class App : public Object, public Description + class App : public Object, public Description { public: static WString Get() diff --git a/Tutorial/Console_Workflow/W03_InheritingCppInterfaces/Main.cpp b/Tutorial/Console_Workflow/W03_InheritingCppInterfaces/Main.cpp index 525a7743..388c56d1 100644 --- a/Tutorial/Console_Workflow/W03_InheritingCppInterfaces/Main.cpp +++ b/Tutorial/Console_Workflow/W03_InheritingCppInterfaces/Main.cpp @@ -12,7 +12,7 @@ using namespace vl::workflow::runtime; namespace myapi { - class App : public Object, public Description + class App : public Object, public Description { public: static WString Get() diff --git a/Tutorial/Console_Workflow/W04_InheritingCppClasses/Main.cpp b/Tutorial/Console_Workflow/W04_InheritingCppClasses/Main.cpp index d694f36f..41d069de 100644 --- a/Tutorial/Console_Workflow/W04_InheritingCppClasses/Main.cpp +++ b/Tutorial/Console_Workflow/W04_InheritingCppClasses/Main.cpp @@ -12,7 +12,7 @@ using namespace vl::workflow::runtime; namespace myapi { - class App : public Object, public Description + class App : public Object, public AggregatableDescription { private: WString name; @@ -43,6 +43,7 @@ namespace myapi { sub->Close(); } + FinalizeAggregation(); } Event NameChanged; @@ -127,15 +128,24 @@ namespace myscript { Name = name; - value subscription = bind($"Hello, $(this.Name)"); - subscription.Open(); + /* "this" is not allowed in binding, copy it to a variable */ + var self = this; + var subscription = bind($"Hello, $(self.Name)"); + attach(subscription.ValueChanged, func (value: object): void { Print(cast string value); }); + + subscription.Open(); Subscriptions.Add(subscription); } + + delete + { + Print("Destructing myscript::MyApp"); + } } } @@ -171,6 +181,8 @@ int main() ( Value_xs(), WString(L"vczh") ))); + myapp->SetName(L"Vczh Libraries++"); + myapp->SetName(L"Workflow"); myapp->SetName(L"Gaclib"); }