<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt">Hi J-P,<br><br>It is not working as I try to call the method generateFilterInvokable2()<br><br>in the function:<br><br>function createBloomFilter() {<br> getAppState().filterCharged = true;<br> Bloomfilters.generateFilterInvokable2()<br> console.log("Called")<br>}<br><br><div><span>And as result "Called" is never printed. So I guess that it crashes.<br></span></div><div style="display: block;" class="yahoo_quoted"> <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 face="Arial" size="2"> El Miércoles 26 de febrero de 2014
0:30, 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="yiv6906620221"><style>#yiv6906620221 #yiv6906620221 --
.yiv6906620221hmmessage P
{
margin:0px;padding:0px;}
#yiv6906620221 body.yiv6906620221hmmessage
{
font-size:12pt;font-family:Calibri;}
#yiv6906620221 </style><div><div dir="ltr">No, I am able to invoke c++ methods from QML while having exposed them the exact same way.<br clear="none">The only difference would be that my constructor is a simple "Bloomfilters()".<br clear="none">So same question than J-P: what exactly isn't working?<br clear="none"><br clear="none"><div>> Date: Tue, 25 Feb 2014 16:31:13 +0100<br clear="none">> From: mikelima@gmail.com<br clear="none">> To: antonio.cano.gomez@ovi.com; devel@lists.sailfishos.org<br clear="none">> Subject: Re: [SailfishDevel] QML C++ Integration not working in Sailfish<br clear="none">> <br clear="none">> I think you need to add a qRegisterMetatype() to be able to invoke<br clear="none">> methods from qml.<br clear="none">> <br clear="none">> On Tue, Feb 25, 2014 at 3:06 PM, <antonio.cano.gomez@ovi.com> wrote:<br clear="none">> > Hi,<br clear="none">> ><br clear="none">> > I am trying to do
a simple Sailfish aplication that uses a c++ library. I<br clear="none">> > try to connect my qml code with the C++ code.<br clear="none">> ><br clear="none">> > First I create QObject extended library:<br clear="none">> ><br clear="none">> > #ifndef BLOOMFILTERS_H<br clear="none">> > #define BLOOMFILTERS_H<br clear="none">> ><br clear="none">> ><br clear="none">> > #include <QObject><br clear="none">> > #include "svn/bloom-read-only/bloom_filter.hpp"<br clear="none">> ><br clear="none">> > class Bloomfilters : public QObject<br clear="none">> > {<br clear="none">> > Q_OBJECT<br clear="none">> ><br clear="none">> ><br clear="none">> > public:<br clear="none">> > Q_INVOKABLE void generateFilterInvokable2() const ;<br clear="none">> > Q_INVOKABLE void generateFilterInvokable(const QString &cadenaK, const<br
clear="none">> > QString &cadenaM) const ;<br clear="none">> ><br clear="none">> ><br clear="none">> > explicit Bloomfilters(QObject *parent = 0);<br clear="none">> ><br clear="none">> > void generateFilter() ;<br clear="none">> ><br clear="none">> > Q_INVOKABLE void insertElement(const QString &cadena) ;<br clear="none">> ><br clear="none">> > Q_INVOKABLE bool checkElement(const QString &cadena) ;<br clear="none">> ><br clear="none">> ><br clear="none">> ><br clear="none">> ><br clear="none">> > signals:<br clear="none">> ><br clear="none">> ><br clear="none">> > public slots:<br clear="none">> ><br clear="none">> > private:<br clear="none">> > bloom_parameters _parameters ;<br clear="none">> > bloom_filter _filter;<br clear="none">> > bool _filter_charged;<br clear="none">>
> QString _k;<br clear="none">> > };<br clear="none">> ><br clear="none">> > #endif // BLOOMFILTERS_H<br clear="none">> ><br clear="none">> ><br clear="none">> ><br clear="none">> > An I try to connect this with my sailfish application with the code:<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->rootContext()->setContextProperty("Bloomfilters",<br clear="none">> > bloomfilters);<br clear="none">> > view->setSource(SailfishApp::pathTo("qml/bloomfilter.qml"));<br clear="none">> > view->showFullScreen();<br clear="none">> > return app->exec();<br clear="none">> ><br
clear="none">> > But this is not working.<br clear="none">> ><br clear="none">> > Someone have any idea about what am I doing wrong?<br clear="none">> ><br clear="none">> > Best Regards!<br clear="none">> ><br clear="none">> ><br clear="none">> ><br clear="none">> > _______________________________________________<br clear="none">> > SailfishOS.org Devel mailing list<br clear="none">> <br clear="none">> <br clear="none">> <br clear="none">> -- <br clear="none">> Luciano Montanaro<br clear="none">> <br clear="none">> Anyone who is capable of getting themselves made President should on<br clear="none">> no account be allowed to do the job. -- Douglas Adams<div class="yiv6906620221yqt5703746546" id="yiv6906620221yqtfd09114"><br clear="none">> _______________________________________________<br clear="none">> SailfishOS.org Devel mailing list<br
clear="none"></div></div><div class="yiv6906620221yqt5703746546" id="yiv6906620221yqtfd73720"> </div></div></div></div><br><div class="yqt5703746546" id="yqtfd76796">_______________________________________________<br clear="none">SailfishOS.org Devel mailing list</div><br><br></div> </blockquote> </div> </div> </div> </div></body></html>