If your object is not a singleton you will need to create an instance to call the function on that object. I suggestion you keep your staticfunction call into a singleton. So you don't need an instance.
> On Nov 27, 2015, at 8:11 PM, Jason H <jh...@gmx.com> wrote: > > I just checked, it is a slot. I just feel like I'm missing something. Do I > need to make a instance? > var instance = new MyLib.Hash() ? > var hash = instance.sha1("data") > > >> Sent: Friday, November 27, 2015 at 7:50 PM >> From: "Jérôme Godbout" <jer...@bodycad.com> >> To: "Jason H" <jh...@gmx.com> >> Cc: interest <interest@qt-project.org> >> Subject: Re: [Interest] Import C++ types to Javascript >> >> Make sure your function is Q_INVOKABLE or is a slot. also take care .pragme >> library is not possible with javascript and object from c++ access >> >>> On Nov 27, 2015, at 7:43 PM, Jason H <jh...@gmx.com> wrote: >>> >>> Per http://doc.qt.io/qt-5/qtqml-javascript-imports.html >>> >>> I am trying to in a JS file, import a class I made and exposed to QML via >>> >>> hash.h: >>> class Hash :public QObject { >>> Q_OBJECT >>> ... >>> QString sha1(QString str); >>> } >>> >>> main(): >>> qmlRegisterType<Hash>("MyLib", 1, 0, "Hash"); >>> >>> myfile.js: >>> .import MyLib 1.0 as MyLib >>> >>> function myFunc(obj) { >>> return MyLib.Hash.sha1(JSON.stringify(obj)); >>> } >>> >>> but what I get when I call it is: >>> qml: Parse Error: TypeError: Property 'sha1' of object [object Object] is >>> not a function >>> >>> What am I doing wrong? >>> JSON.Stringify-ing the MyLib or MyLib.Hash returns {} >>> >>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest@qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest >> _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest