I have used the idea to store objects in javascript for global access 
before. You have to make sure you have ".pragma library" in the JS file, 
though, or you will have each JS import declare it's own name scope. Not 
what you want for a global variable :)

The JS file looks something like this:


.pragma library

var globalObject;

function getGlobalObject() {
   return globalObject;
}

function setGlobalObject(object) {
   return globalObject;
}

In each QML file, you import this one and then you have access to your 
object.

I think this is a horrible piece of code, but it's the only way I have 
found so far.

If possible, move the shared values you have to a C++ object instead and 
declare this as a named global property. This is a cleaner way to access 
shared values. But it only works on limited data types.

Bo.

Den 10-10-2011 17:50, [email protected] skrev:
> Hi all,
>
> I am trying to get access to some global objects from a QML WorkerScript, and 
> whatever I do I cannot seem to access them.  The key object is a C++ object 
> that implements a time consuming function, so I thought this might be the way 
> to go.
>
> The first attempt was to pass the object as inside the workscript message:
>
> MyQml.qml:
>
> Player {
>       id: player
> }
>
> WorkerScript {
>          id: workerThread
>          source: "qrc:player.js"
> }
>
> workThread.sendMessage( { object: player } );
>
> This did not work - the message.object is not an object.
>
> The second attempt, declare global variables inside the JavaScript file:
>
> player.js:
>
> var myplayer;
>
> MyQml:
>
> import "player.js" as Player
>
> ....
>
> Player.myplayer = player
> workThread.sendMessage( {} );
>
> The WorkScript.onMessage function cannot access player.
>
> I am sure that I have missed some crucial piece of documentation somewhere, 
> but any help solving this issue would help.
>
> Ronan.
> _______________________________________________
> Qt-qml mailing list
> [email protected]
> http://lists.qt.nokia.com/mailman/listinfo/qt-qml


Bo Thorsen,
Fionia Software.

-- 

Expert Qt and C++ developer for hire
Contact me if you need expert Qt help
http://www.fioniasoftware.dk
_______________________________________________
Qt-qml mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-qml

Reply via email to