void TJSObject::invalidate() { // TJSオブジェクトを破壊して参照をクリアする // これにより、TJS側で回収処理が走りこのオブジェクト自体は // ネイティブインスタンスのクリア処理で破棄される if (instance.Type() == tvtObject && instance.AsObjectClosureNoAddRef().IsValid(0, NULL, NULL, NULL) == TJS_S_TRUE) { TVPDoTryBlock(TryInvalidate, Catch, NULL, (void *)&instance); } instance.Clear(); }
SQRESULT getter() { TVPDoTryBlock(TryGetter, Catch, Finally, (void *)this); return result; }
SQRESULT exec() { TVPDoTryBlock(TryExec, Catch, Finally, (void *)this); return result; }
SQRESULT create(tTJSVariant &target) { TVPDoTryBlock(TryCreate, Catch, Finally, (void *)this); target = r; return result; }
Local<Value> exec() { TVPDoTryBlock(TryGetter, Catch, Finally, (void *)this); return ret; }
void exec() { TVPDoTryBlock(TrySetter, Catch, Finally, (void *)this); }
Local<Value> create() { TVPDoTryBlock(TryCreate, Catch, Finally, (void *)this); return ret; }