Invalid write to global property QML

marmistrz picture marmistrz · Sep 5, 2012 · Viewed 8.9k times · Source

I have this signal

class SystemUICfgScanner 
{
    /*code here*/
signals:
    void error(QString desc);
    /*more code*/
};

In QML I use an InfoBanner this way:

InfoBanner
{
    property string infodetails: ""
    id: systemuicfgErrorBanner
    text: "Error: " + infodetails
    Connections
    {
        target: cfgScanner
        onError: infodetails = desc
    }
}

When error(QString) signal is emitted, I'm getting this error

Invalid write to global property "infodetails"

What am I doing wrong?

Thanks in advance

Answer

sergk picture sergk · Sep 6, 2012

Try to reference InfoBanner instance by id:

InfoBanner
{
    property string infodetails: ""
    id: systemuicfgErrorBanner
    text: "Error: " + infodetails
    Connections
    {
        target: cfgScanner
        onError: systemuicfgErrorBanner.infodetails = desc
    }
}