34 lines
801 B
QML
34 lines
801 B
QML
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.disconnectAndDestroyDynamicObject(); }
|
|
}
|
|
}
|
|
|
|
function disconnectAndDestroyDynamicObject() {
|
|
if (dynamicObjectProperty) {
|
|
root.outer.disconnect(dynamicObjectProperty.inner);
|
|
dynamicObjectProperty.destroy();
|
|
dynamicObjectProperty = undefined;
|
|
gc();
|
|
}
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
dynamicObjectProperty = comp.createObject(root);
|
|
root.outer.connect(dynamicObjectProperty.inner);
|
|
}
|
|
}
|