<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css"></style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Yes, if you read the documentation pragma library cannot access qml properties directly. So its a feature.<br>
<br>
<a href="http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-resources.html#shared-javascript-resources-libraries" target="_blank">http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-resources.html#shared-javascript-resources-libraries</a><br>
<br>
re, Jonni<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF648064"><font size="2" color="#000000" face="Tahoma"><b>From:</b> devel-bounces@lists.sailfishos.org [devel-bounces@lists.sailfishos.org] on behalf of antonio.cano.gomez@ovi.com [antonio.cano.gomez@ovi.com]<br>
<b>Sent:</b> Thursday, February 27, 2014 12:17 PM<br>
<b>To:</b> Sylvain B.; Sailfish OS Developers<br>
<b>Subject:</b> Re: [SailfishDevel] QML C++ Integration not working in Sailfish<br>
</font><br>
</div>
<div></div>
<div>
<div style="color:#000; background-color:#fff; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
Hi sylvain,<br>
<br>
This is not the case a renamed the variable so the have exactly the same name.<br>
<br>
On the other hand, may be the problem is that I am calling it from .js file by the next code:<br>
<br>
.pragma library<br>
.import QtQuick 2.0 as QQ<br>
<br>
var appState;<br>
<br>
function getAppState() { return appState; }<br>
<br>
<br>
function newAppState(page)<br>
{<br>
    appState = page;<br>
    getAppState().k=1;<br>
    getAppState().m=2;<br>
<br>
    return appState;<br>
}<br>
<br>
// Funciones especificas<br>
<br>
function createBloomFilter() {<br>
    console.log("Voy a llamar a generate filter")<br>
    bloomfiltersdata.generateFilterInvokable2()<br>
    console.log("Ya he llamado a generate filter")<br>
}<br>
<div><br>
<span></span></div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
And I call this from the qml by:</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
<br>
</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
<br>
import QtQuick 2.0<br>
import Sailfish.Silica 1.0<br>
import "pages"<br>
<br>
import "pages/content"<br>
import "pages/content/logic.js" as Logic<br>
import fi.helsinki.cs 1.0<br>
<br>
ApplicationWindow<br>
{<br>
    initialPage: Component { FirstPage { } }<br>
    cover: Qt.resolvedUrl("cover/CoverPage.qml")<br>
    id: appWin<br>
    property var appState: Logic.newAppState(appWin);<br>
    property ApplicationWindow appWin: appWin<br>
    property Bloomfilters bloomfilters: bloomfilters<br>
    property var k<br>
    property var m<br>
    property bool filterCharged: false<br>
}</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
<br>
</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
<br>
</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
Someone seems something unusual in this code?</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
<br>
</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
Best Regards and Thanks,</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
<br>
</div>
<div style="color:rgb(0,0,0); font-size:16px; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color:transparent; font-style:normal">
A. Cano<br>
<span></span></div>
<div class="yahoo_quoted" style="display:block"><br>
<br>
<div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
<div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
<div dir="ltr"><font size="2" face="Arial">El Miércoles 26 de febrero de 2014 13:24, Sylvain B. <sthocs@hotmail.com> escribió:<br>
</font></div>
<blockquote style="border-left:2px solid rgb(16,16,255); margin-left:5px; margin-top:5px; padding-left:5px">
<div class="y_msg_container">
<div id="yiv1367802958"><style>
<!--
#yiv1367802958 #yiv1367802958 -- .yiv1367802958hmmessage p
        {margin:0px;
        padding:0px}
#yiv1367802958 body.yiv1367802958hmmessage
        {font-size:12pt;
        font-family:Calibri}
-->
BODY {direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;}P {margin-top:0;margin-bottom:0;}</style>
<div>
<div dir="ltr"><span style="color:rgb(68,68,68); font-family:Calibri; line-height:22.719999313354492px">Yes, add a "s"</span>
<div style="line-height:22.719999313354492px; color:rgb(68,68,68); font-family:Calibri">
You declared <font style="line-height:normal" face="HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">"bloomfiltersdata" and you are trying to use </font><font style="line-height:normal" face="HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">bloomfilterdata...</font></div>
<div style="line-height:22.719999313354492px; color:rgb(68,68,68); font-family:Calibri">
<font style="line-height:normal" face="HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><br clear="none">
</font></div>
<br clear="none">
<div>
<hr id="yiv1367802958stopSpelling">
Date: Wed, 26 Feb 2014 04:02:22 -0800<br clear="none">
From: antonio.cano.gomez@ovi.com<br clear="none">
To: devel@lists.sailfishos.org<br clear="none">
Subject: Re: [SailfishDevel] QML C++ Integration not working in Sailfish<br clear="none">
<br clear="none">
<div class="yiv1367802958yqt1266914436" id="yiv1367802958yqt87674">
<div style="color:#000; background-color:#fff; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
Hi Andrey,<br clear="none">
<br clear="none">
The output is: ReferenceError: bloomfilterdata is not defined<br clear="none">
<br clear="none">
I am calling it from a .js<br clear="none">
<br clear="none">
Some idea about how can I  make that this is also defined there.<br clear="none">
<br clear="none">
Thanks!<br clear="none">
<div><span><br clear="none">
</span></div>
<div class="yiv1367802958ecxyahoo_quoted" style="display:block"><br clear="none">
<br clear="none">
<div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
<div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
<div dir="ltr"><font size="2" face="Arial">El Miércoles 26 de febrero de 2014 12:18, Andrey Kozhevnikov <coderusinbox@gmail.com> escribió:<br clear="none">
</font></div>
<blockquote style="border-left:2px solid rgb(16,16,255); padding-left:5px">
<div class="yiv1367802958ecxy_msg_container">
<div id="yiv1367802958ecxyiv2316856410">
<div>start app in terminal and show output please<br clear="none">
<br clear="none">
<div class="yiv1367802958ecxyiv2316856410yqt1677962634" id="yiv1367802958ecxyiv2316856410yqt72199">
<div class="yiv1367802958ecxyiv2316856410moz-cite-prefix">On 26.02.2014 17:15, <a rel="nofollow" shape="rect" class="yiv1367802958ecxyiv2316856410moz-txt-link-abbreviated" href="mailto:antonio.cano.gomez@ovi.com" target="_blank">
antonio.cano.gomez@ovi.com</a> wrote:<br clear="none">
</div>
<blockquote>
<div style="color:#000; background-color:#fff; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
Hi Thomas,<br clear="none">
<br clear="none">
I did both modification but the code does not work yet.<br clear="none">
<br clear="none">
Here is the new code:<br clear="none">
<br clear="none">
        QGuiApplication *app = SailfishApp::application(argc, argv);<br clear="none">
        QQuickView *view = SailfishApp::createView();<br clear="none">
<br clear="none">
        Bloomfilters  * bloomfilters = new Bloomfilters();<br clear="none">
        view->rootContext()->setContextProperty("bloomfiltersdata", bloomfilters);<br clear="none">
        view->setSource(SailfishApp::pathTo("qml/bloomfilter.qml"));<br clear="none">
        view->showFullScreen();<br clear="none">
<br clear="none">
        return app->exec();<br clear="none">
<br clear="none">
<div class="yiv1367802958ecxyiv2316856410yahoo_quoted" style="display:block">
<div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
<div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:12pt">
<div dir="ltr"><font size="2" face="Arial">El Miércoles 26 de febrero de 2014 12:01, Thomas Perl
<a rel="nofollow" shape="rect" class="yiv1367802958ecxyiv2316856410moz-txt-link-rfc2396E" href="mailto:th.perl@gmail.com" target="_blank">
<th.perl@gmail.com></a> escribió:<br clear="none">
</font></div>
<blockquote style="border-left:2px solid rgb(16,16,255); padding-left:5px">
<div class="yiv1367802958ecxyiv2316856410y_msg_container">On 2014-02-26 11:48, <a rel="nofollow" shape="rect" href="mailto:antonio.cano.gomez@ovi.com" target="_blank">
antonio.cano.gomez@ovi.com</a> wrote:
<div class="yiv1367802958ecxyiv2316856410yqt0781394248" id="yiv1367802958ecxyiv2316856410yqtfd11163">
<br clear="none">
> I tried this:<br clear="none">
><br clear="none">
>        QGuiApplication *app = SailfishApp::application(argc, argv);<br clear="none">
>        QQuickView *view = SailfishApp::createView();<br clear="none">
>        Bloomfilters  * bloomfilters = new Bloomfilters();<br clear="none">
> view->setSource(SailfishApp::pathTo("qml/bloomfilter.qml"));<br clear="none">
>        view->showFullScreen();<br clear="none">
> view->rootContext()->setContextProperty("Bloomfilters", bloomfilters);<br clear="none">
>        return app->exec();<br clear="none">
><br clear="none">
> But it is not working yet.</div>
<br clear="none">
<br clear="none">
Two things:<br clear="none">
<br clear="none">
  1. Call setContextProperty() right before before setSource(), so it's <br clear="none">
already available when the QML content is loaded.<br clear="none">
  2. Use lowercase for context property names ("bloomfilters" instead of <br clear="none">
"Bloomfilters"). In some places, QML interprets IDs starting with an <br clear="none">
upper case letter as a type name, and that won't work then, therefore <br clear="none">
stick to lowercase.<br clear="none">
<br clear="none">
<br clear="none">
HTH :)<br clear="none">
Thomas
<div class="yiv1367802958ecxyiv2316856410yqt0781394248" id="yiv1367802958ecxyiv2316856410yqtfd59641">
<br clear="none">
</div>
<br clear="none">
<br clear="none">
</div>
</blockquote>
</div>
</div>
</div>
</div>
<br clear="none">
<fieldset class="yiv1367802958ecxyiv2316856410mimeAttachmentHeader" target="_blank">
</fieldset> <br clear="none">
<pre>_______________________________________________
SailfishOS.org Devel mailing list</pre>
</blockquote>
</div>
<br clear="none">
</div>
</div>
<br clear="none">
<div class="yiv1367802958ecxyqt1677962634" id="yiv1367802958ecxyqt38547">_______________________________________________<br clear="none">
SailfishOS.org Devel mailing list</div>
<br clear="none">
<br clear="none">
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
<br clear="none">
_______________________________________________ SailfishOS.org Devel mailing list</div>
</div>
</div>
</div>
<br>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>