call QML in main.cpp

Hello

I want to call a function in main.cpp main.qml!  Is it possible to do this?

Help me solve this problem!

Hi Paul24,

Please check below link

http://developer.BlackBerry.com/Cascades/documentation/dev/integrating_cpp_qml/index.html

-------------------------------------------------------------------------------

feel free to press the button like on the right side to thank the user who has helped you.

Tags: BlackBerry Developers

Similar Questions

  • How to call main.cpp .cpp files

    Hi all

    I'm new to c ++.

    I have files main.cpp, applicationui.cpp and applicationui.h in the src folder, once I created a new project in the IDE QNX.

    In my main.qml, I have a list view to navigate to the page after a clicked (does the qml code).

    So, how did I call carousel.cpp (with carousel.h) after that I clicked on the list view.

    Any suggestions are welcome.

    Thanks in advance.

    main.cpp

    // Default empty project template
    #include 
    #include 
    #include 
    #include 
    
    #include 
    #include 
    #include "applicationui.hpp"
    
    // include JS Debugger / CS Profiler enabler
    // this feature is enabled by default in the debug build only
    //#include 
    
    using namespace bb::cascades;
    
    Q_DECL_EXPORT int main(int argc, char **argv)
    {
        // this is where the server is started etc
        Application app(argc, argv);
    
        // localization support
        QTranslator translator;
        QString locale_string = QLocale().name();
        QString filename = QString( "smb_%1" ).arg( locale_string );
        if (translator.load(filename, "app/native/qm")) {
            app.installTranslator( &translator );
        }
    
        new ApplicationUI(&app);
    
        // we complete the transaction started in the app constructor and start the client event loop here
        return Application::exec();
        // when loop is exited the Application deletes the scene which deletes all its children (per qt rules for children)
    }
    

    applicationui.cpp

    // Default empty project template
    #include "applicationui.hpp"
    
    #include 
    #include 
    #include 
    #include 
    #include 
    
    using namespace bb::cascades;
    
    ApplicationUI::ApplicationUI(bb::cascades::Application *app)
    : QObject(app)
    {
        // create scene document from main.qml asset
        // set parent to created document to ensure it exists for the whole application lifetime
        QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
    
        if (!qml->hasErrors()) {
    
                // The application NavigationPane is created from QML.
                NavigationPane *navPane = qml->createRootObject();
    
                if (navPane) {
                    qml->setContextProperty("_navPane", navPane);
    
                    // Set the main scene for the application to the NavigationPane.
                    Application::instance()->setScene(navPane);
    
                }
            }
    
    }
    

    Carousel.cpp

    /* Copyright (c) 2012 Research In Motion Limited.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     * http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    #include "Carousel.hpp"
    
    #include 
    #include 
    #include 
    
    #include 
    
    #include 
    #include 
    #include 
    #include 
    #include 
    
    #include 
    
    using namespace bb::cascades;
    
    Carousel::Carousel(bb::cascades::Application *app) :
        QObject(app)
    {
      qmlRegisterType("utils", 1, 0, "QTimer");
      qmlRegisterType("bb.cascades", 1, 0,
          "QPropertyAnimation");
      // create scene document from main.qml asset
      // set parent to created document to ensure it exists for the whole application lifetime
      QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
    
      qml->setContextProperty("app", this);
      // create root object for the UI
      AbstractPane *root = qml->createRootObject();
      // set created root object as a scene
      app->setScene(root);
    }
    
    // Getting the byte array of the string
    QByteArray Carousel::getBytes(QString str)
    {
      return str.toAscii();
    }
    
    // We only want the OutCubic easing-curve, try others,  dare you!
    QEasingCurve Carousel::getEase()
    {
      return QEasingCurve::OutCubic;
    }
    
    // This function is needed by the mirroring algo.
    static bb::cascades::Image fromQImage(const QImage &origQImage,
        const QImage &mirroredQImage)
    {
    
      bb::ImageData imageData(bb::PixelFormat::RGBA_Premultiplied,
          origQImage.width(), (origQImage.height() * 1.25) + 2);
      int y = 0;
    
      unsigned char *dstLine = imageData.pixels();
    
      for (y = 0; y < origQImage.height(); y++)
      {
        unsigned char * dst = dstLine;
        for (int x = 0; x < imageData.width(); x++)
        {
          QRgb srcPixel = origQImage.pixel(x, y);
    
          *dst++ = qRed(srcPixel) * qAlpha(srcPixel) / 255;
          *dst++ = qGreen(srcPixel) * qAlpha(srcPixel) / 255;
          *dst++ = qBlue(srcPixel) * qAlpha(srcPixel) / 255;
          *dst++ = qAlpha(srcPixel);
        }
        dstLine += imageData.bytesPerLine();
      }
    
      for (; y < origQImage.height() + 2; y++)
      {
        unsigned char * dst = dstLine;
        for (int x = 0; x < imageData.width(); x++)
        {
          *dst++ = 0;
          *dst++ = 0;
          *dst++ = 0;
          *dst++ = 0;
        }
        dstLine += imageData.bytesPerLine();
      }
    
      for (; y < imageData.height(); y++)
      {
        unsigned char * dst = dstLine;
        for (int x = 0; x < imageData.width(); x++)
        {
          QRgb srcPixel = mirroredQImage.pixel(x, (y - 2 - origQImage.height()));
          *dst++ = qRed(srcPixel);
          *dst++ = qGreen(srcPixel);
          *dst++ = qBlue(srcPixel);
          *dst++ = qAlpha(srcPixel);
    
        }
        dstLine += imageData.bytesPerLine();
      }
    
      return Image(imageData);
    
    }
    
    // Let's not have all the images mirrored, let's do that in code, and some alpha on them aswell
    QVariant Carousel::createMirrorImage(QString inputFName)
    {
    
      if (inputFName.isEmpty())
        return QVariant::fromValue(0);
    
      char buff[1024];
      QString prefix = QString(getcwd(buff, 1024));
      inputFName = prefix + "/app/native/assets/" + inputFName;
    
      QImage inputQImage(inputFName);
      QImage mirrored_part = inputQImage.mirrored(false, true);
      QPoint start(0, 0);
      QPoint end(0, mirrored_part.height());
      QLinearGradient gradient(start, end);
    
      gradient.setColorAt(0.0, Qt::gray);
      gradient.setColorAt(0.22, Qt::black);
      gradient.setColorAt(1.0, Qt::black);
      QImage mask = mirrored_part;
      QPainter painter(&mask);
      painter.fillRect(mirrored_part.rect(), gradient);
      painter.end();
    
      mirrored_part.setAlphaChannel(mask);
      bb::cascades::Image mirrored_image = fromQImage(inputQImage, mirrored_part);
      return QVariant::fromValue(mirrored_image);
    
    }
    

    I think that you have not set the constructor of class carousel with the parameter bb::cascades:Application *.

    I think you can call

    new Carousel(app);
    

    But the idon't think you create an another qml classroom of carousel, the qml must be loaded in ApplicationUI class only, another class should do the business of your application, but not anything else, should work only in QML

  • Tried to build and run the "QXmlStreamReader" project, but the display of the device debugging errors] error 2, no rule to make target "main.cpp", need to "debug/main.o.

    I have tried to build and run the project "QXmlStreamReader" with momentics

    but display as errors

    The path location type Resource Description
    make: * [Device-Debug] problem error 2 QXSRExample C/C++
    make [2]: * no rule to make target "main.cpp", need to "debug/main.o.  Stop.    QXSRExample C/C++ problem
    make [1]: * [debug] problem error 2 QXSRExample C/C++

    My project is to

    CBC

    main.cpp

    qxsrexample.cpp

    Inc.

    qxsrexample.h

    assets

    hand. QML etc.

    Reference: http://qt-project.org/doc/qt-4.8/qxmlstreamreader.html

    And

    http://developer.Nokia.com/community/wiki/QXmlStreamReader_to_parse_XML_in_Qt

    I posted a few snippets on the forum some time ago, maybe they are useful:

    https://supportforums.BlackBerry.com/T5/native-development/how-to-parse-XML-data-coming-from-server-...

  • Call functions of qml in main.qml of a part of the user interface of the part without application head.

    Hi all;

    I wanted that my application runs in the background (Headless) but first encountered several problems, calculation are qml functions (in main.qml: updateUi() with call javascript *.js files), who should I call their headless part when the part of the user interface is closed by the user? Please help me if you have any solution.

    Thank you very much.

    identify what treatment you need for the game without head and migrate to c + c++ / Qt.

  • Function call QML from C++ by signal... it does not work

    Hello.

    Please help me because I'm stuck the last day three...

    Well

    In main.qml

    onComplete() / / signal... .to in button click

    {

    closeProgressBar();

    }

    function closeProgressBar() / / allows to stop the progress as dwonlaoding data from the internet bar had finished.

    {

    progressIndicator.stop ();

    }

    Now in my file app.c

    Q_SIGNALS:

    Sub rollback();

    in my app.hpp

    Emit Rollback();

    but he calling is not my onComplete method...

    and I am unable to stop my progressabar

    pls help me...

    As I did today my plug-in...

    I am wating for your reply eagerly...

    the connect statement is not correct. to take
    Login.Complete.Connect (closeProgressBar)

    I suggest to connect the signal in the onCreationCompleted of the component slot so that runs only once.

    I also suggest that you use some console.log statements to see if the slot is called.

    Furthermore, you mixed hpp and c (or CPP) in your messages.

  • Subvi hangs when it is closed after being called to a main.vi through the calling method asynchronous start

    Hi all

    I have a main.vi that loads successfully a subvi.vi using the x 100 option and Aysnchronous begin to call the method.

    When the Subvi is finished its Executive, the window remains, some controls can be used and it is really suspended. It requires a kill labview.exe solve complete.

    Note: The Subvi is running and closes smoothly by operating directly...

    I put any code in the Subvi to close in a way, because it was opened through the startup Aysnchronous method?

    Tom

    Sorry, I'm a fool, it turns out that the problem is that I had insode of lines, the main and the Sub - VI of the same name!

    Everything is good now

  • Any items returned calls QML?

    Hello world

    I am trying to create an instance of a C++ object to a form QML. For now, I did this:

    Game * game = new Game();

    QML->setContextProperty("game", match);

    This gives me the possibility to call functions of the game class in the QML file. (for example: game.getPlayer (0);) The function is called (so that works).

    My problem now is: get an object of this class. For example:

    Player * Game::getPlayer(intplayer)

    {

    Player * p = _players.at (player);

    return p;

    }

    When calling this function, it will succeed (but when I try to connect the result I get nothing. For example, the Player function: getName() returns nothing).

    What I am doing wrong? I think that the references to the obkect, but I don't know where.

    I hope someone can help me with this!

    Thanks in advance!

    Did you register the class of player using qmlRegisterType? If this is not the case, do (before calling setScene). Import the custom type in qml, then.
    The class also has to extend the QObject.

  • ImageButton error call .qml (beta 3 of waterfall)

    Hello friends, after beta 3 came the waterfall had several errors of new variables and some chains of command in my mobile, entiendiendo already realized a few fix a little problem I had this code works perfectly in Beta 3, I have a button called a qml

            ImageButton {
                id: donar
                defaultImageSource: "asset:///images/donacion.png"
                pressedImageSource: "asset:///images/donacion.png"
                layoutProperties: AbsoluteLayoutProperties {
                }
                onClicked: {
                navigationPane.deprecatedPushQmlByString("donaciones.qml");
                }
                preferredWidth: width
                preferredHeight: height
                translationX: 80.0
                translationY: -60.0
            }
    

    But when I run the application in the alpha dev and I click on the ImageButton control I opened the QML, I think it's due to the structuring of new programming language, could help me with this problem to invoke the QML?

    Greetings.

    I have the Alpha of Dev with Os 10.0.9.44

    Hello

    Please check below link

    https://developer.BlackBerry.com/Cascades/documentation/dev/dynamic_qml/index.html

    Use ComponentDefinition.

    Thank you.

    --------------------------------------------------------------------------------------------------------------------------------------------

    feel free to press the button like on the right side to thank the user who has helped you.

  • Cannot call QML C++ objects

    I tried to check the active frame example since the blackberry official site https://developer.blackberry.com/native/documentation/cascades/ui/active_frames/ and it worked perfectly. But when I tried to integrate it into my app, it showed "cannot find variable activeFrame" warning.

    I know, I have to expose the object of QML with setContextProperty, I did it but in order to use nothing. I use other objects incorporated as batteryinfo (of class BatteryInfo) and all this without any issue at all, either.

    The problem has also occurred when I tried to implement Qsettings in my application and create the reference to the object to use in QML as _myapp and once again had WARNING 'cannot find variable _myapp' in the console.

    The examples perform very well when I run them independently as a stand-alone application. The problem creeps when I integrate and run it in my application!

    All thoughts, which could possible could have gone wrong?

    You seem to be loading your main qml twice, it must be done in the applicationui.

    But to be honest that I fight to read this, please can implement you the suggested changes above, I did?

  • Access a class later?

    I have my own class BBM I create hand:

    BbmConnection *bbmConnection = new BbmConnection(uuid, &app);
        bbmConnection->RegisterApplication();
    

    How can I use this class later in my application, in another class?

    I can't reintialise it because I don't know what uuid and app are later in the application.

    I'm using C++

    Thank you

    One of the solutions is to use a singleton.

    Remove uuid & app from the constructor arguments.

    In BbmConnection.h, add:

    static BbmConnection *sharedInstance();
    

    In BbmConnection.cpp:

    BbmConnection *BbmConnection::sharedInstance()
    {
      static BbmConnection instance;
      return &instance;
    }
    

    Add an initialization method, for example init(). Call once in main.cpp:

    BbmConnection::sharedInstance()-> init (uuid, & app)

    In other classes:

    BbmConnection::sharedInstance()-> otherMethods();

    p.s. If the app is an instance of the application, then it is accessible from any method by calling Application::instance ().

  • Trouble to C++ signal to call a QML slot

    Hello

    I can't get a signal from C++ code to call a function of slit in my QML.  I have currently resembles right (compared to the examples I have seen online), but the slit function is never called.  Can you see a problem?  Here is my code:

    applicaitonui. HPP:

    class ApplicationUI: public QObject {
    Q_OBJECT
    public:
        ApplicationUI(bb::cascades::Application *app);
    
        virtual ~ApplicationUI() {
        }
    
    signals:
        void successfulAuthentication();
    
    private:
        ActivityIndicator *mActivityIndicator;
        QNetworkAccessManager *mNetworkAccessManager;
    };
    
    #endif
    

    applicationui.cpp:

    ApplicationUI::ApplicationUI(bb::cascades::Application *app) :
            QObject(app) {
    
        QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
        qml->setContextProperty("app", this);
    
        AbstractPane *root = qml->createRootObject();
    
        mActivityIndicator = root->findChild("indicator");
    
        connect(this, SIGNAL(successfulAuthentication()), root,
                SLOT(onSuccessfulAuthentication()));
    
        // set created root object as a scene
        app->setScene(root);
    }
    

    main.cpp:

    ...
    
    emit successfulAuthentication();
    
    ...
    

    hand. QML:

    // Default empty project template
    import bb.cascades 1.0
    import bb.system 1.0
    
    NavigationPane {
        id: navigationPane
        Page {
            id: loginPage
            Container {
                layout: StackLayout {
                    orientation: LayoutOrientation.TopToBottom
                }
    
                ...
            }
        }
        function onSuccessfulAuthentication() {
            console.log("onSuccessfulAuthentication()");
        }
    }
    

    I don't know if it is possible to connect on the side of C++, but in QML, you can do something like:

    NavigationPane {
      onCreationCompleted: {
        app.successfulAuthentication.connect(onSuccessfulAuthentication)
    

    Or use the element of {QtQuick 1.0 connections (it should be placed in attachedObjects):

    http://supportforums.BlackBerry.com/T5/Cascades-development/QML-connections-element/m-p/2063301#M955...

  • call the function onCreationCompleted c ++ in qml

    I currently have a problem with the c function call ++ QML.

    Œuvres of normal calls. But when I call a function in onCreationCompleted, he cannot access qml object on the page.

    For example:

    {Page}

    onCreationComplete:

    {myFunction() ;}

    Button {}

    ojbectName: "button1".

    }

    }

    MyFunc access using findChild button1.

    But this return 0 x 0, means the button does not exist.

    So how do I access button1 in c ++ to what page is loaded?

    I have posted from a phone, so sorry if there is no error.

    Look, we can't access the qml object when the page is created (we call it in onCreationCompleted). I bypassed by calling the function after navigationpane.push.

  • Using C++ in QML classes in app without head: refers to 'bb::device:VibrationController:staticMetaObject' the undefined

    Hi, I've been weeks of work on the BB and had a lot of problems. Some of them have been resolved, some were not without the support of the forum.

    Now I have a great difficulty that I can't find answer by Googling.

    I am grateful to some body can help.

    Here's a simple case that make the big problem for me:

    1. create an app without head with Momentics. 2 project will be generated HeadlessApp and HeadlessAppService.

    Without modification, this code works well.

    2. I'm link below to use VibrationController in HeadlessAppService: https://developer.blackberry.com/native/documentation/dev/integrating_cpp_qml/index.html#usingcclass...

    below the code has been added:

    -Add codes below to main.cpp HeadlessAppService

    #include 
    using namespace bb::device;
    

    then add qmlRegisterType as below

    Q_DECL_EXPORT int main(int argc, char **argv)
    {
    
       Application app(argc, argv);
    
       qmlRegisterType("bb.vibrationController", 1, 0, "VibrationController");
       ApplicationUI appui;
       return Application::exec();
    }
    

    3. to confirm the new code, I just right click on the project and select build project.

    Bang! I got several error I don't understand. (red lines are errors)

    08:44:30 **** Incremental Build of configuration Device-Debug for project headlessTest ****
    make -j4 Device-Debug
    make -C .//translations -f Makefile update
    make[1]: Entering directory 'D:/BB-dev/momentics-workspace/headlessTest/translations'
    C:/bbndk/host_10_3_1_12/win32/x86/usr/bin/lupdate headlessTest.pro
    Updating 'headlessTest.ts'...
        Found 2 source text(s) (0 new and 2 already existing)
    make[1]: Leaving directory 'D:/BB-dev/momentics-workspace/headlessTest/translations'
    make -C .//translations -f Makefile release
    make[1]: Entering directory 'D:/BB-dev/momentics-workspace/headlessTest/translations'
    C:/bbndk/host_10_3_1_12/win32/x86/usr/bin/lrelease headlessTest.pro
    Updating 'D:/BB-dev/momentics-workspace/headlessTest/translations/headlessTest.qm'...
        Generated 0 translation(s) (0 finished and 0 unfinished)
        Ignored 2 untranslated source text(s)
    make[1]: Leaving directory 'D:/BB-dev/momentics-workspace/headlessTest/translations'
    make -C ./arm -f Makefile debug
    make[1]: Entering directory 'D:/BB-dev/momentics-workspace/headlessTest/arm'
    make -f Makefile.Debug
    make[2]: Entering directory 'D:/BB-dev/momentics-workspace/headlessTest/arm'
    qcc -Vgcc_ntoarmv7le -lang-c++ -Wl,-rpath-link,C:/bbndk/target_10_3_1_995/qnx6/armle-v7/lib -Wl,-rpath-link,C:/bbndk/target_10_3_1_995/qnx6/armle-v7/usr/lib -Wl,-rpath-link,C:/bbndk/target_10_3_1_995/qnx6/armle-v7/usr/lib/qt4/lib -Wl,-rpath-link,C:/bbndk/target_10_3_1_995/qnx6/armle-v7/usr/lib/qt4/lib -o o.le-v7-g/headlessTest o.le-v7-g/.obj/applicationui.o o.le-v7-g/.obj/main.o o.le-v7-g/.obj/moc_applicationui.o    -LC:/bbndk/target_10_3_1_995/qnx6/armle-v7/usr/lib/bb1 -LC:/bbndk/target_10_3_1_995/qnx6/armle-v7/lib -LC:/bbndk/target_10_3_1_995/qnx6/armle-v7/usr/lib -LC:/bbndk/target_10_3_1_995/qnx6/armle-v7/usr/lib/qt4/lib -LC:/bbndk/target_10_3_1_995/qnx6//usr/lib/qt4/lib -lbb -lbbsystem -lbbcascades -lQtDeclarative -lQtScript -lQtSvg -lQtSql -lsqlite3 -lz -lQtXmlPatterns -lQtGui -lQtNetwork -lsocket -lQtCore -lm -lbps
    o.le-v7-g/.obj/main.o: In function `int qmlRegisterType(char const*, int, int, char const*)':
    c:/bbndk/target_10_3_1_995/qnx6/usr/include/qt4/QtDeclarative/qdeclarative.h:191: undefined reference to `bb::device::VibrationController::staticMetaObject'
    o.le-v7-g/.obj/main.o: In function `QDeclarativeElement':
    c:/bbndk/target_10_3_1_995/qnx6/usr/include/qt4/QtDeclarative/qdeclarativeprivate.h:87: undefined reference to `bb::device::VibrationController::VibrationController(QObject*)'
    o.le-v7-g/.obj/main.o:(.data.rel.ro._ZTVN19QDeclarativePrivate19QDeclarativeElementIN2bb6device19VibrationControllerEEE[_ZTVN19QDeclarativePrivate19QDeclarativeElementIN2bb6device19VibrationControllerEEE]+0x8): undefined reference to `bb::device::VibrationController::metaObject() const'
    o.le-v7-g/.obj/main.o:(.data.rel.ro._ZTVN19QDeclarativePrivate19QDeclarativeElementIN2bb6device19VibrationControllerEEE[_ZTVN19QDeclarativePrivate19QDeclarativeElementIN2bb6device19VibrationControllerEEE]+0xc): undefined reference to `bb::device::VibrationController::qt_metacast(char const*)'
    o.le-v7-g/.obj/main.o:(.data.rel.ro._ZTVN19QDeclarativePrivate19QDeclarativeElementIN2bb6device19VibrationControllerEEE[_ZTVN19QDeclarativePrivate19QDeclarativeElementIN2bb6device19VibrationControllerEEE]+0x10): undefined reference to `bb::device::VibrationController::qt_metacall(QMetaObject::Call, int, void**)'
    o.le-v7-g/.obj/main.o:(.data.rel.ro._ZTIN19QDeclarativePrivate19QDeclarativeElementIN2bb6device19VibrationControllerEEE[_ZTIN19QDeclarativePrivate19QDeclarativeElementIN2bb6device19VibrationControllerEEE]+0x8): undefined reference to `typeinfo for bb::device::VibrationController'
    o.le-v7-g/.obj/main.o: In function `~QDeclarativeElement':
    c:/bbndk/target_10_3_1_995/qnx6/usr/include/qt4/QtDeclarative/qdeclarativeprivate.h:91: undefined reference to `bb::device::VibrationController::~VibrationController()'
    c:/bbndk/target_10_3_1_995/qnx6/usr/include/qt4/QtDeclarative/qdeclarativeprivate.h:91: undefined reference to `bb::device::VibrationController::~VibrationController()'cc: C:/bbndk/host_10_3_1_12/win32/x86/usr/bin/ntoarm-ld caught signal 1
    Makefile.Debug:103: recipe for target 'o.le-v7-g/headlessTest' failed
    make[2]: *** [o.le-v7-g/headlessTest] Error 1make[2]: Leaving directory 'D:/BB-dev/momentics-workspace/headlessTest/arm'
    make[1]: *** [debug] Error 2
    Makefile:50: recipe for target 'debug' failed
    make: *** [Device-Debug] Error 2make[1]: Leaving directory 'D:/BB-dev/momentics-workspace/headlessTest/arm'
    mk/cs-base.mk:31: recipe for target 'Device-Debug' failed
    08:44:31 Build Finished (took 1s.47ms)
    

    I give up!

    Why adding simple code can be a problem? Please help me!

    Thank you very much!

    You must add this code into main.cpp to your HeadlessApp, not HeadlessAppService. Your spare part cannot run any UI stuff, trying to save an object any for QML is part of the things in the user interface.

    But anyway, reading your newspaper from the console, you seem to put in the right place anyway. Did you add this to your headlessTest.pro file:
    LIBS +=-lbbdevice

  • Routemapinvoker function call address?

    Passing by the example of https://github.com/blackberry/Cascades-Samples/tree/master/routemapinvoker , I can call reliable for navigation based on GPS coordinates.

    I can't seem to get the application to work if I want to just navigate to an address

    {ActionItem}
    Title: "navigate to the delivery.
    onTriggered: {}
                    
    address remains empty, start it from the current place of residence
    mapper.setEndAddress ("street of 132 test");
    mapper.setEndLatitude (XXXX);
    mapper.setEndLongitude(-XXXX);
    mapper.setEndDescription ("Home!");
    map. Go();
    }

    }

    Shy, to write a wrapper to call the geolocation API (https://developer.blackberry.com/cascades/documentation/device_platform/location/geocoding.html) can we do research of navigation of Cascades?

    I thought about it!

    The search text is a member (and setters and the gettiers) to the MapInvoker class, not the RouteMapInvoker. You can't MapInvoker for instance directly, but using the Summoner of road map and search text works

    So my code that works:

    in main.cpp

    Q_DECL_EXPORT int main(int argc, char **argv)
    {
        qmlRegisterType("bb.platform", 1, 0, "RouteMapInvoker");
    
        ...
    

    and the QML to call to action page:

    Page{
        actions: [
            ActionItem {
                title: "Navigate to delivery"
                onTriggered: {
                    mapper.setSearchText("132 fake street");
                    mapper.go();
                }
            }
        ]
    
        attachedObjects: [
            RouteMapInvoker{
                id:mapper
            }
        ]
    }
    
  • Signature of QML app problem

    Hello

    Hi, I'm signing my application, but the blackberry-signer-check errors in declarations.

    I have read many topics on the forum, but I have not found a solution to my problem.

    This is my files:

    BlackBerry - tablet.xml:

    
    http://www.qnx.com/schemas/application/1.0">
    com.dwart.Study-Cards
    Study-Cards
    Study-Cards
    1.0.0
    Learn language faster
    dwart
    
      none
      false
      false
      landscape
    
    dwart.com
    run_native
    
    access_shared
    
    
    
    
    
    
    
    
        -platform
        blackberry
        dwart
        gYAAgHnFdvHsS830QUqF8qLsMTE
        run_native
    
        icon.png
        splashscreen.png
    
    

    StudyCards.pro:

    TARGET = StudyCards
    # Add more folders to ship with the application, here
    folder_01.source = qml/StudyCards
    folder_01.target = qml
    DEPLOYMENTFOLDERS = folder_01
    
    QMAKE_LFLAGS += '-Wl,-rpath,\'./app/native/lib\' '
    
    package.target = $${TARGET}.bar
    package.depends = $$TARGET
    package.commands = blackberry-nativepackager \
       -package $${TARGET}.bar -arg -platform -arg blackberry \
       -debugToken ./debugToken.bar \
       -arg -platformpluginpath -arg ./app/native/lib/platforms \
       -arg -pluginpath -arg ./app/native/lib/plugins \
       blackberry-tablet.xml $$TARGET \
       -e icon.png icon.png \
       -e splashscreen.png splashscreen.png \
    -e qml qml \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtCore.so.4 lib/libQtCore.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtGui.so.4 lib/libQtGui.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtOpenGL.so.4 lib/libQtOpenGL.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtNetwork.so.4 lib/libQtNetwork.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtDeclarative.so.4 lib/libQtDeclarative.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtSql.so.4 lib/libQtSql.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtSvg.so.4 lib/libQtSvg.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtScript.so.4 lib/libQtScript.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtXmlPatterns.so.4 lib/libQtXmlPatterns.so.4 \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/plugins/sqldrivers/libqsqlite.so lib/plugins/sqldrivers/libqsqlite.so \
       -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/plugins/platforms/libblackberry.so lib/platforms/libblackberry.so
    QMAKE_EXTRA_TARGETS += package
    
    SOURCES += main.cpp
    
    # Please do not modify the following two lines. Required for deployment.
    include(qmlapplicationviewer/qmlapplicationviewer.pri)
    qtcAddDeployment()
    
    OTHER_FILES += blackberry-tablet.xml
    

    I do *.bar file:

    /home/dwart/Desktop/qt-qnx/stage/nto/armle-v7/usr/lib/qt4/bin/qmake
    
    make
    
    make Study-Cards.bar
    

    Results:

    qcc -Vgcc_ntoarmv7le -lang-c++ -c -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../qt-qnx/stage/nto/armle-v7/usr/lib/qt4/mkspecs/unsupported/blackberry-armv7le-qcc -I. -I../qt-qnx/stage/nto/usr/include/qt4/QtCore -I../qt-qnx/stage/nto/usr/include/qt4/QtGui -I../qt-qnx/stage/nto/usr/include/qt4/QtDeclarative -I../qt-qnx/stage/nto/usr/include/qt4 -Iqmlapplicationviewer -I. -I/opt/bbndk2/target/qnx6/usr/include -I/opt/bbndk2/target/qnx6/usr/include/freetype2 -o main.o main.cpp
    qcc -Vgcc_ntoarmv7le -lang-c++ -c -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../qt-qnx/stage/nto/armle-v7/usr/lib/qt4/mkspecs/unsupported/blackberry-armv7le-qcc -I. -I../qt-qnx/stage/nto/usr/include/qt4/QtCore -I../qt-qnx/stage/nto/usr/include/qt4/QtGui -I../qt-qnx/stage/nto/usr/include/qt4/QtDeclarative -I../qt-qnx/stage/nto/usr/include/qt4 -Iqmlapplicationviewer -I. -I/opt/bbndk2/target/qnx6/usr/include -I/opt/bbndk2/target/qnx6/usr/include/freetype2 -o qmlapplicationviewer.o qmlapplicationviewer/qmlapplicationviewer.cpp
    /home/dwart/Desktop/qt-qnx/stage/nto/armle-v7/usr/lib/qt4/bin/moc -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../qt-qnx/stage/nto/armle-v7/usr/lib/qt4/mkspecs/unsupported/blackberry-armv7le-qcc -I. -I../qt-qnx/stage/nto/usr/include/qt4/QtCore -I../qt-qnx/stage/nto/usr/include/qt4/QtGui -I../qt-qnx/stage/nto/usr/include/qt4/QtDeclarative -I../qt-qnx/stage/nto/usr/include/qt4 -Iqmlapplicationviewer -I. -I/opt/bbndk2/target/qnx6/usr/include -I/opt/bbndk2/target/qnx6/usr/include/freetype2 -D__QNXNTO__ qmlapplicationviewer/qmlapplicationviewer.h -o moc_qmlapplicationviewer.cpp
    qcc -Vgcc_ntoarmv7le -lang-c++ -c -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../qt-qnx/stage/nto/armle-v7/usr/lib/qt4/mkspecs/unsupported/blackberry-armv7le-qcc -I. -I../qt-qnx/stage/nto/usr/include/qt4/QtCore -I../qt-qnx/stage/nto/usr/include/qt4/QtGui -I../qt-qnx/stage/nto/usr/include/qt4/QtDeclarative -I../qt-qnx/stage/nto/usr/include/qt4 -Iqmlapplicationviewer -I. -I/opt/bbndk2/target/qnx6/usr/include -I/opt/bbndk2/target/qnx6/usr/include/freetype2 -o moc_qmlapplicationviewer.o moc_qmlapplicationviewer.cpp
    qcc -Vgcc_ntoarmv7le -lang-c++ -Wl,-rpath-link,/opt/bbndk2/target/qnx6/armle-v7/lib -Wl,-rpath-link,/opt/bbndk2/target/qnx6/armle-v7/usr/lib -Wl,-rpath,'./app/native/lib' -Wl,-O1 -o Study-Cards main.o qmlapplicationviewer.o moc_qmlapplicationviewer.o    -L/opt/bbndk2/target/qnx6/armle-v7/lib -L/opt/bbndk2/target/qnx6/armle-v7/usr/lib -L/home/dwart/Desktop/qt-qnx/stage/nto/armle-v7/usr/lib/qt4/lib -lQtDeclarative -L/home/dwart/Desktop/qt-qnx/stage/nto/armle-v7/usr/lib/qt4/lib -L/opt/bbndk2/target/qnx6/armle-v7/lib -L/opt/bbndk2/target/qnx6/armle-v7/usr/lib -lQtScript -lQtSvg -lQtSql -lQtXmlPatterns -lQtNetwork -lsocket -lQtGui -lQtCore -lm 
    
    blackberry-nativepackager -package Study-Cards.bar -arg -platform -arg blackberry -debugToken ./debugToken.bar -arg -platformpluginpath -arg ./app/native/lib/platforms -arg -pluginpath -arg ./app/native/lib/plugins blackberry-tablet.xml Study-Cards -e icon.png icon.png -e splashscreen.png splashscreen.png -e qml qml -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtCore.so.4 lib/libQtCore.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtGui.so.4 lib/libQtGui.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtOpenGL.so.4 lib/libQtOpenGL.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtNetwork.so.4 lib/libQtNetwork.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtDeclarative.so.4 lib/libQtDeclarative.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtSql.so.4 lib/libQtSql.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtSvg.so.4 lib/libQtSvg.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtScript.so.4 lib/libQtScript.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/lib/libQtXmlPatterns.so.4 lib/libQtXmlPatterns.so.4 -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/plugins/sqldrivers/libqsqlite.so lib/plugins/sqldrivers/libqsqlite.so -e /home/dwart/.qt-x86-lib/Qt/stage/nto/armle-v7/usr/lib/qt4/plugins/platforms/libblackberry.so lib/platforms/libblackberry.so
    Info: Package created: Study-Cards.bar
    

    In the bar of the file look like this:

    /META-INF
        MANIFEST.MF
    /native
        /lib
            /platforms
                libblackberry.so
            /plugins
                /sqldrivers
                    libqsqlite.so
            libQtCore.so.4
            libQtDe....
            ....
        /qml
            /StudyCards
                card.png
                lisc.png
                main.qml
            /imports
                /Qt
                    ...
                /com
                    ...
        Study-Cards
        blackberry-tablet.xml
        icon.png
        splashscreen.png
    

    I try to sing:

    /opt/bbndk2/host/linux/x86/usr/bin/blackberry-signer -keystore /home/dwart/.rim/author.p12 -storepass myPass ./Study-Cards.bar author
    

    results:

    Info: Bar signed.
    

    It's added to my file for files META_INF bar: AUTHOR. THIS and the AUTHOR. SF

    next step:

    /opt/bbndk2/host/linux/x86/usr/bin/blackberry-signer -verbose -cskpass myCSKpass -keystore /home/dwart/.rim/author.p12 -storepass myStorePass ./Study-Cards.bar RDK
    

    results:

    Developer Certificate TBS =
    30 81 b7 a0 03 02 01 02 02 04 4f 38 2f a6 30 0c
    06 08 2a 86 48 ce 3d 04 03 04 05 00 30 10 31 0e
    30 0c 06 03 55 04 03 13 05 64 77 61 72 74 30 1e
    17 0d 31 32 30 32 31 32 32 31 33 31 31 38 5a 17
    0d 33 32 30 32 30 37 32 31 33 31 31 38 5a 30 10
    31 0e 30 0c 06 03 55 04 03 13 05 64 77 61 72 74
    30 58 30 10 06 07 2a 86 48 ce 3d 02 01 06 05 2b
    81 04 00 23 03 44 00 03 00 6d 4d b3 f4 07 75 ba
    da 3d 5b b4 7c a8 4f 7d 90 01 0f 26 3d e9 e5 54
    07 40 64 b4 0b 11 70 f9 35 ca 5b 1e 9f 68 27 c9
    92 ab d3 a6 ec 4c 2e 20 40 d2 18 88 04 73 82 3d
    c4 84 b8 bb b2 66 e9 ab 37 dd
    Developer Certificate TBS Digest =
    0c 92 56 7d 1f 7d 88 a2 98 7e ea 60 01 e5 93 7d
    22 09 96 7c 68 c4 e8 be 2a d4 38 ee f2 84 06 3c
    a9 00 78 f6 63 6d b7 4c 3e 76 88 a6 ba 79 a6 12
    f0 8a fd 38 50 d9 4d b9 be 2e 6f d0 38 78 64 75
    Developer Certificate TBS Encoded Digest =
    44 4a 4a 57 66 52 39 39 69 4b 4b 59 66 75 70 67
    41 65 57 54 66 53 49 4a 6c 6e 78 6f 78 4f 69 2d
    4b 74 51 34 37 76 4b 45 42 6a 79 70 41 48 6a 32
    59 32 32 33 54 44 35 32 69 4b 61 36 65 61 59 53
    38 49 72 39 4f 46 44 5a 54 62 6d 2d 4c 6d 5f 51
    4f 48 68 6b 64 51
    Requesting signature from server...
    Reading CSK file...
    Properties of CSK file := [
    Version = 2
    Encoded Salt =
    2f 6d 35 46 4e 49 4f 58 55 53 45 3d
    Encoded and Encrypted PrivateKey =
    4f 46 53 49 5a 75 4a 51 73 70 62 6c 62 37 71 5a
    63 4b 78 37 61 48 39 5a 4e 65 45 6f 73 79 61 7a
    33 4c 63 39 4f 58 72 73 35 6b 5a 76 54 67 62 62
    59 33 4b 41 4b 48 74 36 38 73 70 38 70 2f 4d 2b
    70 45 5a 56 75 59 5a 53 6f 6a 76 42 38 49 70 59
    4e 43 6f 6a 6b 64 49 2f
    Salt =
    fe 6e 45 34 83 97 51 21
    Digest =
    3c 1e 47 62 fc ce 0b 13 35 25 70 56 ac d1 1a eb
    77 0e 9a 21 7e 8a 11 52 06 64 d2 79 da 4e 09 88
    97 96 c1 01 ec 53 f2 7a 6a 3e 75 70 6a f3 1f 51
    e2 28 1a 1a e8 c7 85 f7 d7 7a 98 05 b7 f6 bf 75
    Signature =
    30 81 88 02 42 01 06 b1 0c e3 2d fd f3 01 f7 5f
    14 a6 ef b4 4b a0 5c 2b a6 b3 ef aa 1d 25 ed 46
    62 8b 06 fe 35 eb 10 80 e8 b9 0a 8e a0 7b 6a ef
    c9 28 c9 53 85 89 66 26 1e 7f d8 67 0f ef e4 58
    86 6b ca 4e b8 57 6a 02 42 01 27 e4 29 2a 9f ee
    2b ad 59 48 77 ff 39 87 98 5a 9c ae 2d ac 72 93
    d1 33 fc 7f 4e 6a 87 ab 88 46 af 59 22 65 c6 6f
    81 f8 ef 3c da 79 c4 74 36 c1 35 c1 b0 21 d5 1d
    e3 1b 3e 72 24 47 bf c1 1a 19 fc
    Flat Signature =
    01 06 b1 0c e3 2d fd f3 01 f7 5f 14 a6 ef b4 4b
    a0 5c 2b a6 b3 ef aa 1d 25 ed 46 62 8b 06 fe 35
    eb 10 80 e8 b9 0a 8e a0 7b 6a ef c9 28 c9 53 85
    89 66 26 1e 7f d8 67 0f ef e4 58 86 6b ca 4e b8
    57 6a 01 27 e4 29 2a 9f ee 2b ad 59 48 77 ff 39
    87 98 5a 9c ae 2d ac 72 93 d1 33 fc 7f 4e 6a 87
    ab 88 46 af 59 22 65 c6 6f 81 f8 ef 3c da 79 c4
    74 36 c1 35 c1 b0 21 d5 1d e3 1b 3e 72 24 47 bf
    c1 1a 19 fc
    Properties of request := [
    Version = 1
    Command = Signature Request
    SignerID = RDK
    ClientID = 3903770746
    MF =
    51 58 4a 6a 61 47 6c 32 5a 53 31 4e 59 57 35 70
    5a 6d 56 7a 64 43 31 57 5a 58 4a 7a 61 57 39 75
    4f 69 41 78 4c 6a 45 4e 43 6b 46 79 59 32 68 70
    64 6d 55 74 51 33 4a 6c 59 58 52 6c 5a 43 31 43
    65 54 6f 67 51 6d 78 68 59 32 74 43 5a 58 4a 79
    65 53 42 55 59 57 4a 73 5a 58 51 67 54 31 4d 67
    52 57 78 6d 49 45 4a 42 55 69 42 51 59 57 4e 72
    ..........
    4f 52 66 38 75 2f 59 48 69 54 32 38 30 42 54 4d
    76 72 2b 30 50 30 70 61 56 49 54 4b 6d 6a 51 35
    49 6a 41 67 34 32 43 48 33 4d 59 56 44 73 30 7a
    4e 66 47 66 57 75 52 72 4a 70 31 6b 54 43 55 3d
    Connecting to URL http://www.rim.net/Websigner/servlet/RDK-Waterloo
    Sending properties to server...
    Properties of response := [
    Version = 1
    Response = Signature Response
    Confirm = Signing server ID RDK signed code file from client ID 3903770746.
    Error = null
    ]
    Encoded Package-Author-Id =
    67 59 41 41 67 48 6e 46 64 76 48 73 53 38 33 30
    51 55 71 46 38 71 4c 73 4d 54 45
    Encoded Package-Id =
    67 59 41 42 67 47 4a 65 7a 68 55 79 4a 6d 6a 47
    5f 37 76 57 34 48 4a 71 57 32 6b
    Encoded Package-Version-Id =
    67 59 41 43 67 46 6c 63 4b 6e 4e 64 65 46 79 4d
    6a 66 56 31 50 78 4c 32 6e 6e 73
    Encoded Application-Id =
    67 59 41 44 67 43 34 6f 48 63 59 47 78 77 32 6d
    41 50 32 68 4f 75 63 67 46 76 49
    Encoded Application-Version-Id =
    67 59 41 45 67 44 46 55 35 62 57 6a 37 71 5f 49
    67 6f 65 37 55 4e 57 41 35 51 45
    Encoded Signature =
    41 65 4a 71 6c 55 56 68 67 68 46 7a 49 34 46 51
    69 33 73 35 35 59 30 43 38 62 30 43 4e 43 31 38
    39 2f 70 69 49 41 44 34 4a 4d 6c 62 49 46 39 50
    53 4b 32 66 33 79 41 58 6c 5a 75 46 4b 79 58 42
    2f 50 72 39 6b 37 63 49 61 56 45 34 4d 69 42 52
    31 61 55 49 32 33 57 39 41 55 39 72 38 30 6f 47
    56 34 48 6b 55 61 54 76 6e 74 4a 36 67 42 31 33
    72 79 69 55 41 78 67 45 62 6e 35 62 62 71 48 4b
    74 76 34 59 64 58 6a 71 4f 78 55 5a 37 2b 43 33
    48 2b 45 4c 75 62 48 63 49 6b 2b 79 36 45 52 33
    62 69 55 37 35 54 52 68 37 47 72 62 44 6c 65 4a
    Decoded Signature =
    01 e2 6a 95 45 61 82 11 73 23 81 50 8b 7b 39 e5
    8d 02 f1 bd 02 34 2d 7c f7 fa 62 20 00 f8 24 c9
    5b 20 5f 4f 48 ad 9f df 20 17 95 9b 85 2b 25 c1
    fc fa fd 93 b7 08 69 51 38 32 20 51 d5 a5 08 db
    75 bd 01 4f 6b f3 4a 06 57 81 e4 51 a4 ef 9e d2
    7a 80 1d 77 af 28 94 03 18 04 6e 7e 5b 6e a1 ca
    b6 fe 18 75 78 ea 3b 15 19 ef e0 b7 1f e1 0b b9
    b1 dc 22 4f b2 e8 44 77 6e 25 3b e5 34 61 ec 6a
    db 0e 57 89
    ASN.1 Signature =
    30 81 88 02 42 01 e2 6a 95 45 61 82 11 73 23 81
    50 8b 7b 39 e5 8d 02 f1 bd 02 34 2d 7c f7 fa 62
    20 00 f8 24 c9 5b 20 5f 4f 48 ad 9f df 20 17 95
    9b 85 2b 25 c1 fc fa fd 93 b7 08 69 51 38 32 20
    51 d5 a5 08 db 75 bd 02 42 01 4f 6b f3 4a 06 57
    81 e4 51 a4 ef 9e d2 7a 80 1d 77 af 28 94 03 18
    04 6e 7e 5b 6e a1 ca b6 fe 18 75 78 ea 3b 15 19
    ef e0 b7 1f e1 0b b9 b1 dc 22 4f b2 e8 44 77 6e
    25 3b e5 34 61 ec 6a db 0e 57 89
     Updating: META-INF/MANIFEST.MF
       Adding: META-INF/RDK.SF
       Adding: META-INF/RDK.EC
      Signing: native/Study-Cards
      Signing: native/icon.png
      Signing: native/splashscreen.png
      Signing: native/qml/imports/Qt/labs/components.1.1/CheckableGroup.qml
      Signing: native/qml/imports/Qt/labs/components.1.1/Checkable.qml
      Signing: native/qml/imports/Qt/labs/components.1.1/CheckableGroup.js
      Signing: native/qml/imports/Qt/labs/components.1.1/qmldir
      Signing: native/qml/imports/Qt/labs/components.1.1/libqtcomponentsplugin_1_1.so
      Signing: native/qml/imports/Qt/labs/components/native/Dialog.qml
      Signing: native/qml/imports/Qt/labs/components/native/ToolButton.qml
      Signing: native/qml/imports/Qt/labs/components/native/MenuItem.qml
      Signing: native/qml/imports/Qt/labs/components/native/Label.qml
      Signing: native/qml/imports/Qt/labs/components/native/SectionScroller.qml
      Signing: native/qml/imports/Qt/labs/components/native/BusyIndicator.qml
      Signing: native/qml/imports/Qt/labs/components/native/ButtonRow.qml
      Signing: native/qml/imports/Qt/labs/components/native/TextSelectionHandle.qml
      Signing: native/qml/imports/Qt/labs/components/native/QueryDialog.qml
      Signing: native/qml/imports/Qt/labs/components/native/Page.qml
      Signing: native/qml/imports/Qt/labs/components/native/ContextMenu.qml
      Signing: native/qml/imports/Qt/labs/components/native/PageStackWindow.qml
      Signing: native/qml/imports/Qt/labs/components/native/StatusBar.qml
      Signing: native/qml/imports/Qt/labs/components/native/ListItemText.qml
      Signing: native/qml/imports/Qt/labs/components/native/TabBar.qml
      Signing: native/qml/imports/Qt/labs/components/native/RadioButton.qml
      Signing: native/qml/imports/Qt/labs/components/native/Switch.qml
      Signing: native/qml/imports/Qt/labs/components/native/ApplicationWindow.qml
      Signing: native/qml/imports/Qt/labs/components/native/RectUtils.js
      Signing: native/qml/imports/Qt/labs/components/native/ScrollBar.qml
      Signing: native/qml/imports/Qt/labs/components/native/SelectionListItem.qml
      Signing: native/qml/imports/Qt/labs/components/native/libsymbianplugin_1_1.so
      Signing: native/qml/imports/Qt/labs/components/native/PageStack.qml
      Signing: native/qml/imports/Qt/labs/components/native/MenuLayout.qml
      Signing: native/qml/imports/Qt/labs/components/native/ToolBar.qml
      Signing: native/qml/imports/Qt/labs/components/native/Popup.qml
      Signing: native/qml/imports/Qt/labs/components/native/Button.qml
      Signing: native/qml/imports/Qt/labs/components/native/TextField.qml
      Signing: native/qml/imports/Qt/labs/components/native/MenuContent.qml
      Signing: native/qml/imports/Qt/labs/components/native/TextArea.qml
      Signing: native/qml/imports/Qt/labs/components/native/TabGroup.qml
      Signing: native/qml/imports/Qt/labs/components/native/TabButton.qml
      Signing: native/qml/imports/Qt/labs/components/native/ButtonGroup.js
      Signing: native/qml/imports/Qt/labs/components/native/ProgressBar.qml
      Signing: native/qml/imports/Qt/labs/components/native/TextTouchController.qml
      Signing: native/qml/imports/Qt/labs/components/native/TextMagnifier.qml
      Signing: native/qml/imports/Qt/labs/components/native/Slider.qml
      Signing: native/qml/imports/Qt/labs/components/native/PageStack.js
      Signing: native/qml/imports/Qt/labs/components/native/Window.qml
      Signing: native/qml/imports/Qt/labs/components/native/SelectionDialog.qml
      Signing: native/qml/imports/Qt/labs/components/native/Fader.qml
      Signing: native/qml/imports/Qt/labs/components/native/ToolBarLayout.qml
      Signing: native/qml/imports/Qt/labs/components/native/AppManager.js
      Signing: native/qml/imports/Qt/labs/components/native/qmldir
      Signing: native/qml/imports/Qt/labs/components/native/ButtonColumn.qml
      Signing: native/qml/imports/Qt/labs/components/native/CommonDialog.qml
      Signing: native/qml/imports/Qt/labs/components/native/ToolTip.qml
      Signing: native/qml/imports/Qt/labs/components/native/TabBarLayout.qml
      Signing: native/qml/imports/Qt/labs/components/native/CheckBox.qml
      Signing: native/qml/imports/Qt/labs/components/native/ListItem.qml
      Signing: native/qml/imports/Qt/labs/components/native/SectionScroller.js
      Signing: native/qml/imports/Qt/labs/components/native/ScrollDecorator.qml
      Signing: native/qml/imports/Qt/labs/components/native/Menu.qml
      Signing: native/qml/imports/Qt/labs/components/native/TextContextMenu.qml
      Signing: native/qml/imports/Qt/labs/components/native/TabGroup.js
      Signing: native/qml/imports/Qt/labs/components/native/ListHeading.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/libsymbianextrasplugin_1_1.so
      Signing: native/qml/imports/com/nokia/extras.1.1/TimePickerDialog.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/TumblerDialog.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/DatePickerDialog.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/RatingIndicator.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/TumblerColumn.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/TumblerIndexHelper.js
      Signing: native/qml/imports/com/nokia/extras.1.1/qmldir
      Signing: native/qml/imports/com/nokia/extras.1.1/SearchBox.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/Constants.js
      Signing: native/qml/imports/com/nokia/extras.1.1/Tumbler.js
      Signing: native/qml/imports/com/nokia/extras.1.1/InfoBanner.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/Tumbler.qml
      Signing: native/qml/imports/com/nokia/extras.1.1/TumblerTemplate.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Dialog.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ToolButton.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/MenuItem.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Label.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/SectionScroller.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/BusyIndicator.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ButtonRow.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TextSelectionHandle.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/QueryDialog.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Page.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ContextMenu.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/PageStackWindow.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/StatusBar.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ListItemText.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TabBar.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/RadioButton.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Switch.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ApplicationWindow.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/RectUtils.js
      Signing: native/qml/imports/com/nokia/symbian.1.1/ScrollBar.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/SelectionListItem.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/libsymbianplugin_1_1.so
      Signing: native/qml/imports/com/nokia/symbian.1.1/PageStack.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/MenuLayout.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ToolBar.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Popup.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Button.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TextField.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/MenuContent.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TextArea.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TabGroup.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TabButton.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ButtonGroup.js
      Signing: native/qml/imports/com/nokia/symbian.1.1/ProgressBar.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TextTouchController.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TextMagnifier.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Slider.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/PageStack.js
      Signing: native/qml/imports/com/nokia/symbian.1.1/Window.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/SelectionDialog.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Fader.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ToolBarLayout.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/AppManager.js
      Signing: native/qml/imports/com/nokia/symbian.1.1/qmldir
      Signing: native/qml/imports/com/nokia/symbian.1.1/ButtonColumn.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/CommonDialog.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ToolTip.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TabBarLayout.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/CheckBox.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/ListItem.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/SectionScroller.js
      Signing: native/qml/imports/com/nokia/symbian.1.1/ScrollDecorator.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/Menu.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TextContextMenu.qml
      Signing: native/qml/imports/com/nokia/symbian.1.1/TabGroup.js
      Signing: native/qml/imports/com/nokia/symbian.1.1/ListHeading.qml
      Signing: native/qml/StudyCards/card.png
      Signing: native/qml/StudyCards/main.qml
      Signing: native/qml/StudyCards/lisc.png
      Signing: native/lib/libQtCore.so.4
      Signing: native/lib/libQtGui.so.4
      Signing: native/lib/libQtOpenGL.so.4
      Signing: native/lib/libQtNetwork.so.4
      Signing: native/lib/libQtDeclarative.so.4
      Signing: native/lib/libQtSql.so.4
      Signing: native/lib/libQtSvg.so.4
      Signing: native/lib/libQtScript.so.4
      Signing: native/lib/libQtXmlPatterns.so.4
      Signing: native/lib/plugins/sqldrivers/libqsqlite.so
      Signing: native/lib/platforms/libblackberry.so
      Signing: native/blackberry-tablet.xml
    Info: Bar signed.
    

    I think that everything is OK, but:

    /opt/bbndk2/host/linux/x86/usr/bin/blackberry-signer -verbose -verify Study-Cards.bar
    

    results:

    Error: Invalid signature file digest for Manifest main attributes
    

    Someone knows how to solve?

    PS Sorry for the long post and my English

    OK, I change the order of:

    /opt/bbndk2/host/linux/x86/usr/bin/blackberry-signer -verbose -cskpass myCSKpass -keystore /home/dwart/.rim/author.p12 -storepass myStorePass ./Study-Cards.bar RDK
    
    /opt/bbndk2/host/linux/x86/usr/bin/blackberry-signer -keystore /home/dwart/.rim/author.p12 -storepass myPass ./Study-Cards.bar author
    

    Now it's work

    Info: Bar verified.
    

    Thank you much for the help

Maybe you are looking for