import Qt.test 1.0 import QtQuick 2.0 import "scriptConnect.6.js" as Script Item { id: root property int test: 0 property var dynamicObjectProperty: undefined signal outer Component { id: comp Item { signal inner onInner: { Script.testFunction(); root.destroyDynamicObject(); } } } function destroyDynamicObject() { if (dynamicObjectProperty) { dynamicObjectProperty.destroy(); dynamicObjectProperty = undefined; gc(); } } Component.onCompleted: { dynamicObjectProperty = comp.createObject(root); root.outer.connect(dynamicObjectProperty.inner); } }