InvokeTargetReply finished() signal not shooting?

I have a problem like that in the original post in this thread:

http://supportforums.BlackBerry.com/T5/native-development/invokation-framework-slot-for-signal-Finis...

The poster of thread apparently solved their problem for their use case by invoking a card instead of an application, but this solution is not suitable for my use case - I simply invoke a basic application, by using a reusable code taken right out of BlackBerry tutorials, and apparently, so the launch of base app, finished() signal is not emitted.  This seems so basic that I expect others have run across it, and there is a subtle touch that is not sufficiently covered in the tutorials.

Code:

void ApplicationUI::launchCoreApp() {

    qDebug() << "The launchCoreApp() method was called";

    bb::system::InvokeManager invokemanager;
    bb::system::InvokeRequest request;

    request.setAction("bb.action.OPEN");
    request.setTarget("sys.browser");
    request.setUri("http://www.blackberry.com");

    bb::system::InvokeTargetReply *reply = invokemanager.invoke(request);

    if(reply) {
        if(reply->isFinished()) {
            qDebug() << "In launchCoreApp(), reply finished before we could connect signal to handler slot";
        } else {
            qDebug() << "In launchCoreApp(), connecting reply finished signal to handler slot";
            bool ok = connect(reply, SIGNAL(finished()), this, SLOT(onInvokeTargetFinished()));
            Q_ASSERT(ok);
        }

    }

}

void ApplicationUI::onInvokeTargetFinished() {
    qDebug() << "The onInvokeTargetFinished() slot was reached";
}

Note that this is just a test code and I didn't intend to instantiate a new InvokeManager on each call to the launchCoreApp() function - I just need to see how things work.

So, when I run the above, launches the browser and goes to the provided URI, my debug console told me that the value of reply-> isFinished() is false, so my code takes the branch to connect the finished() signal to the onInvokeTargetFinished() slot.

However, the slot is apparently never called, not the browser launch and not when I close the browser.

It's reusable code light directly from the tutorials and docs, but it doesn't seem to work as announced.

When subtle I'm missing?

Where in the lifecycle of the invocation request response is the finished() signal is supposed to be issued?  The reference docs are very clear on this - they just say it is issued when the response message is "received", whatever that means (I understand that it is a future model, I'm not clear which is received in the life cycle integer invocation response).

I am compiling against level API 10.2 BTW.

I work, the only thing needed is to define the parent for the response, otherwise it will be deleted at the end of the function where it is created.

    bb::system::InvokeTargetReply *reply = invokemanager.invoke(request);
    reply->setParent(this);

The parent is responsible to remove the answer, so be sure to remove it in your home.

void ApplicationUI::onInvokeTargetFinished() {
    qDebug() << "The onInvokeTargetFinished() slot was reached";
    bb::system::InvokeTargetReply *reply = qobject_cast(sender());
    reply->deleteLater();
}

Tags: BlackBerry Developers

Similar Questions

  • onPeekStarted and onPeekEnded signals not firing

    Here's a simple QML which shows that the onPeekStarted and onPeekEneded signals not shooting. What I am doing wrong?

    NavigationPane {
        id: navigationPane
        Page {
            Container {
                Button {
                    id: button
                    text: "Navigate"
                    onClicked: {
                        var page = pageDef.createObject();
                        navigationPane.push(page);
                    }
                }
            }
        }
        attachedObjects: [
            ComponentDefinition {
                id: pageDef
                Page {
                    id: secondPage
                    Label {
                        text: "Second page"
                    }
                    paneProperties: NavigationPaneProperties {
                        backButton: ActionItem {
                            title: "First page"
                            imageSource: "back.png"
                            onTriggered: {
                                navigationPane.pop();
                            }
                        }
                    }
                }
            }
        ]
        onPopTransitionEnded: {
            page.destroy();
            button.text = "Page destroyed"
        }
        onPeekStarted: {
            button.text = "peek started";
        }
        onPeekEnded: {
            button.text = "Peek ended";
        }
    }
    

    Reading the documentation, the onPeekStarted and onPeekEneded signals are sent to the Page and not the NavigationPane. It makes sense that the Page is the component that is to be read on.

    
    NavigationPane {
        id: navigationPane
        Page {
            onPeekStarted: {
                button.text = "Peek started";
            }
            onPeekEnded: {
               button.text = "Peek Ended";
            }
            Container {
                Button {
                    id: button
                    text: "Navigate"
                    onClicked: {
                        var page = pageDef.createObject();
                        navigationPane.push(page);
                    }
                }
            }
        }
        attachedObjects: [
            ComponentDefinition {
                id: pageDef
                Page {
                    id: secondPage
                    Label {
                        text: "Second page"
                    }
                    paneProperties: NavigationPaneProperties {
                        backButton: ActionItem {
                            title: "First page"
                            imageSource: "back.png"
                            onTriggered: {
                                navigationPane.pop();
                            }
                        }
                    }
                }
            }
        ]
        onPopTransitionEnded: {
            page.destroy();
            button.text = "Page destroyed"
        }
    }
    
  • finished() signal for invoke() on phone app)

    I use bb::system:InvokeManager to start a call using action 'bb.action.DIAL '.

    response of bb::system:InvokeTargetReply * const = invokeMgr.invoke (invokeRequest);

    Invoke() will return an InvokeTargetReply. This response will signal finished(). I use

    Boolean result = QObject::connect (response, SIGNAL (finished (()), this, SLOT (onInvokeResult ()));

    to connect the signal with the slot. However, my CRACK onInvokeResult() is never called. Why is this?

    (1) something wrong with my application?

    (2) signal/slot mechanism only works inside your own application. If this approach can be used when calling invoke() to an external application. Signal/slot isn't an IPC mechanism.

    Documentation says errorType and errorCode is valid after the finished() signal.

    BB::System:InvokeTargetReply * response = qobject_cast(sender());
    BB::System:InvokeReplyError:type errorType = response-> error();
    int errorCode = response-> errorCode();

    If the signal/slot mechanism cannot be used internally within your own application, how can you know if the invoke() on an external application would be successful?

    I wasn't looking to extract the right aways errorType and errorCode after calling invoke()... maybe that can already tell me the result?

    BR, René

    Thanks for sharing this code. My code is almost the same. And I solved the problem. My code now looks like this:

    BB::System:InvokeManager invokeMgr;
    response of BB::System:InvokeTargetReply * = invokeMgr.invoke (invokeRequest);
    If (answer)
    {
    Set the parent for this 'response' otherwise 'response' will be deleted at the end of this function.
    response-> setParent (this);
    Boolean result = QObject::connect (response, SIGNAL (finished (()), this, SLOT (onInvokeResult ()));
    ...

    void controller:nInvokeResult()
    {
    Get the response from the sender object
    BB::System:InvokeTargetReply * response = qobject_cast(sender());
    BB::System:InvokeReplyError:type errorType = response-> error();
    int errorCode = response-> errorCode();

    response-> deleteLater();
    }

    It turns out that it is absolutely essential to add a parent to the response using the line "answer-> setParent (this);" in order to receive the signal finished(). If this line is commented out, then the slot is more will be called.

    You may not use a local variable for the answer, but a member of the class. That also seems to work.

    Thanks for the help!

    BR, René

  • Satellite A100 - signal not supported from PC to TV

    Hello

    I have a Satellite A100-SK8 I used to connect it to my Sony 40v2500 using a cable of AVG. However, recently it will no longer connect and I get the mesaage "signal not supported set the output to your pc" on the TV. I use the same cable to connect my another PC to the same TV and it works correctly.

    Any help is very appreciated!

    Thank you
    Shain_20

    Hi shain_20,

    Can you explain which is an AVG cable? I've never heard of this

    In any case, he s strange that he doesn t work then you change some parameters of display or any other driver/software driver?

    Maybe reinstall the display driver could help...
    Usually, you can switch between monitors using the FN + F5 key combination.

  • Export of signal not cleared after erasing the task.

    Hello

    I'm a newbie DAQmx. Material: LabVIEW 8.6.1 with a USB-6251

    I just put a Signal.vi of export DAQmx in the example of the impulse to dig of Gen.  He rerouted properly to the PFI cntr0 I chose but also left the default connected.

    I removed the Signal vi export and represented the Pulse.vi Gen digging and found that the IFP had routed I always responded.  Can someone tell me what's supposed to happen?

    More KB of aNItaB (which is a great resource whenever you are looking to export signal) note this counter output uses a "lazy uncommit' on the output terminals. Basically once you send a signal somewhere it will be routed to this line until you reuse this PFI line for something else. You can lighten the device reset routing, or just tristating line using the output Terminal.vi Tristate DAQmx.

    See you soon,.

    Andrew S

  • Script of not shooting

    Hi all

    I'm new to the application development and still in the learning phase, I began with the construction of the example Hello World for OS 7 and made a few tweaks for coding by adding additional features and by invoking the native maps app. When I upgraded to a Q10 I then carried on the application successfully to OS10 and decided to give him the native look and feel by using BBUI.js, but in doing so, it seems that one of the javascripts is not shooting.

    I tried all kinds of variations to rewrite the code but still no joy. I even used web Inspector, but it does not report them to the top of all the problems.

    If someone is able to help my coding how would you like to see.

    What about Dave

    Hello

    I solved my problem by setting a preference of background color in my config file

    Its a steep learning curve.

    Thank you

  • REGEXP_LIKE starting by h7 or r7 and finishing is not with _rtrd

    I'm using oracle 11.2.0.3. How can I write regexp_like who will give me names beginning with h7 or r7 and finishing is not with _rtrd?

    Hello

    You can do all the work with only 1 REGEXP_LIKE, but it is tedious:

    WHERE REGEXP_LIKE (table_name

    , '^(R| H)7'       ||  -at the beginning

    '.*'            ||  -so one of these channels...

    '([^D]'      ||

    '| [^ R]. D'     ||

    '| [^ L]. RD'.

    '| [^ R]. TRD' |

    '| [^_] RTRD' |

    ($ ')' - at the end

    )

  • itemEditEnd not shooting in DataGrid

    In a specific DataGrid is not shooting - all others in my work as an app very well. I got another Flex developer to look at my code just in case I go crazy or something and he thinks that it is a bug in the Flex framework somewhere I use Flex Builder 2.0.1 FWIW


    The following isolated code has the same behavior (breakpoint in onEdit event listener func does not trigger). A large part of it may seem superfluous, but in a real application, it is necessary in the real application (I just tried to isolate the cause!).

    Any ideas?

    Quote:

    <? XML version = "1.0" encoding = "utf-8"? >
    "" < mx:Application xmlns:mx = ' http://www.adobe.com/2006/mxml '
    creationComplete = "onInit (); »
    >
    < mx:Canvas
    ' xmlns:MX =' http://www.adobe.com/2006/mxml '
    xmlns:WOCCU = "" org.WOCCU.Components. * ""
    Width = "100%" height = "100%" id = "ccc".
    paddingTop = paddingLeft = "0" "0" paddingRight = "0".
    >
    < mx:Script >
    <! [CDATA]
    Import mx.events.DataGridEvent;
    Import mx.events.DataGridEventReason;
    Import mx.collections.ArrayCollection;

    DataProvider
    private var _dp:ArrayCollection;

    This will contain a table (hash) accessible by bottombar or somesync
    [Bindable]
    public var bottomBar:Array;

    public function onInit (): void
    {
    _dp = new collection ArrayCollection ([{PK: 'Mast', label: "XXX" col1: 'Matthews', col2: 'XEXE', level: 1}]);
    entrygrid.dataProvider = _dp;
    trace ('init');

    }


    public void refresh (): void
    {
    TODO: check if the ID of the entity and other accessories are not empty!
    Refresh the content or somesync
    }

    Callback function - when the data arrives
    protected function onData(result:Array):void
    {
    Built our dataprovider or somesync
    var tmpDPRow:Array;
    var _bottomBar:Array = new Array();
    _dp = new ArrayCollection();

    for (var j: String in result) {}
    First of all, check level. If 0 this bottombar line belongs.
    If (result [j] ['level'] == '0') {}
    pk: String var = result [j] ['PK'];
    PK = PK. Replace("-","_"); n ' is not valid in the ID of the object, to replace us with _
    _bottomBar [pk] = new Object();
    _bottomBar [pk] ['label'] is result [j] ['label'];.
    _bottomBar [pk] ['value'] is [j] result ['col2'];.
    } else {}
    Go on the fields
    tmpDPRow = new Array();
    tmpDPRow ["PK"] = result [j] ['PK'];
    tmpDPRow ['label'] = result [j] ['label'];
    tmpDPRow ["col1"] = result [j] ["col1"];
    tmpDPRow ['col2'] = result [j] ['col2'];
    _dp. AddItem (tmpDPRow);
    }
    }

    Apply the lower bar
    this.bottomBar = _bottomBar;
    Apply to all the data to the datagrid control
    this.entrygrid.dataProvider = _dp;

    }

    public void onEdit(event:DataGridEvent):void {}

    trace ("fire on the whole!");
    If (event.reason == DataGridEventReason.CANCELLED) {}
    return;
    }

    SHOULD any EMERGENCY UPDATE frickin database!
    This.Refresh (); Subtotals have changed - need to update
    }


    []] >
    < / mx:Script >
    <!--
    Note the hack below: column widths are ridiculously large values
    The idea is that Flex will resize down and maintain proportions
    ->
    "" < mx:DataGrid xmlns:mx = ' http://www.adobe.com/2006/mxml '
    Width = "100%" height = "100%" showHeaders = 'false' itemEditEnd = "onEdit (event)" id = "entrygrid" > "
    < mx:columns >
    < mx:DataGridColumn = "0" visible width is 'false' dataField is 'PK' >
    < / mx:DataGridColumn >
    < mx:DataGridColumn width = "70000" itemRenderer = "mx.controls.TextInput" editable = "false" dataField = "label" > "
    < / mx:DataGridColumn >
    < mx:DataGridColumn width = "15000" itemRenderer = "mx.controls.TextInput" editable = "false" dataField = "col1" > "
    < / mx:DataGridColumn >

    < mx:DataGridColumn width = "15000" itemRenderer = "mx.controls.TextInput" rendererIsEditor = "true" editable = "true" dataField = "col2" > "
    < / mx:DataGridColumn >
    < / mx:columns >
    < / mx:DataGrid >
    < / mx:Canvas >
    < / mx:Application >
  • finished QNetworkAccessManager signal is not shooting in expansion bb10

    Hi all

    I created plugin (native extension) network in which there is a file moc also to load the slot of signal feature. This extension is done following tasks:

    1 entry for Javascript.

    var jsonData = {"url": "'https://cors-test.appspot.com/test ', "timeOutValue": 4"};

    2 launches a thread extension and call the function of demand on the system from here. Here is the code snippet for same.

    void* SignalThread(void* parent) {
        TemplateJS *pParent = static_cast(parent);
    
        int argc = 0;
        char **argv = NULL;
        QCoreApplication QCoreApplication(argc, argv);
        webworks::TemplateNDK *m_signalHandler = new webworks::TemplateNDK(pParent);
        m_signalHandler->doNetworkRequest();
    
        QCoreApplication::exec(); //When I try to remove this line extension stops working and when I try to implement quit, application closes.
        delete m_signalHandler;
        return NULL;
    }
    
    bool TemplateJS::StartThread(){
    
        pthread_attr_t thread_attr;
        pthread_attr_init(&thread_attr);
        pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
    
        pthread_t m_thread;
        pthread_create(&m_thread, &thread_attr, SignalThread, static_cast(this));
        pthread_attr_destroy(&thread_attr);
        if (!m_thread) {
            return true;
        } else {
            return false;
        }
    }
    

    3 doNetworkRequest function more sends the network request to URL and receive the answer in the slot and return to Javascript application

    4. If no reply is received between the value of timeout then extension sends "operation cancelled" as info application javascript error

    JavaScript application performs tasks:

    1. the request is to have two buttons

    2. the two buttons are hitting the same function and component the same post.

    Question:

    This extension works great for first time response and sends to javascript, but when to call the same function second time in the same application, extension sends "operation cancelled" in javascript. For example: if I click on the Test button it sent a response but if I click the Test1 button after getting response Test button it returns the message "transaction cancelled".

    If timeout is removed from the extension, then it returns nothing and stuck somewhere.

    What I found in the extension is, connect statement returns true both times.

    QObject::connect (_networkAccessManager, SIGNAL (finished(QNetworkReply*)),
    This, SLOT (onRequestFinished(QNetworkReply*)));

    By extension, control comes after below line. But not a response to the onRequestFinished location.

    Answer QNetworkReply * = _networkAccessManager-> get (request);

    Please let me know what I am doing wrong.

    This is a very urgent and major of my application implementation.

    Help, please

    Thanks in advance.

    Question is due to every javascript function call new pthread is be created every time and existing thread is never destroyed. However, I assumed that this local variable of pthread_t destroyed but it is not run like that. If trying to kill thread existing manually using pthread_cancel(), application crashes. Application of network function is called in this thread and QNetworkAccessManager slot is never get called except for the first time.

    To solve it, I used a public global variable that allow to create the thread only once and give the signal for the following applications when native code receives a StartThread function call. For signalling, used pthread mutex lock and characteristic signal.

    Here is the code for the function StartThread:

    bool TemplateJS::StartThread()
    {
    
        parseJsonParams();
    
        if (!g1.g_isSignalThreadCreated) {
            g1.g_isSignalThreadCreated = true;
    
            pthread_attr_t thread_attr;
            pthread_attr_init(&thread_attr);
            pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
            pthread_t m_thread;
            pthread_create(&m_thread, &thread_attr, SignalThread, static_cast(this));
            pthread_attr_destroy(&thread_attr);
    
        } else {
            pthread_mutex_lock(&mutex);
            pthread_cond_signal(&cond);
            pthread_mutex_unlock(&mutex);
    
        }
        return true;
    }
    

    And here's the code must call after event notification.

    void TemplateNDK::Workerthread_waitForNextTime()
        {
            pthread_mutex_lock(&mutex);
            pthread_cond_wait(&cond, &mutex);
            pthread_mutex_unlock(&mutex);
    
            //keeps waiting here until get Signal from StartThread.
            doNetworkRequest();
        }
    
  • Finished SystemToast SIGNAL not

    No idea why this is happening? Is this a bug?

    void HelpPage::showToastNotification()
    {
        SystemToast *toast = new SystemToast(this);
        toast->setBody("Success.");
        toast->button()->setLabel("Open");
    
        QObject::connect(toast, SIGNAL(finished(SystemUiResult::Type)),
                this,  SLOT(onToastFinished(SystemUiResult::Type)));
    
        toast->show();
    }
    
    void HelpPage::onToastFinished(bb::system::SystemUiResult::Type result)
    {
          showDialog("Test","Success"); //THIS LINE NEVER GETS CALLED
    
          SystemToast *toast = qobject_cast(sender());
          toast->deleteLater();
    }
    

    Hello

    Use namespace in the list of parameters.

    all

    public slots:          void onToastFinished(bb::system::SystemUiResult::Type);
    

    .cpp

    #include "applicationui.hpp"
    
    #include 
    #include 
    
    using namespace bb::cascades;
    using namespace bb::system;
    
    ApplicationUI::ApplicationUI(bb::cascades::Application *app) :
            QObject(app) {
        QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
        qml->setContextProperty("app", this);
        root = qml->createRootObject();
        app->setScene(root);
    
        SystemToast *toast = new SystemToast(this);
        toast->setBody("Success.");
        toast->button()->setLabel("Open");
    
        QObject::connect(toast, SIGNAL(finished(bb::system::SystemUiResult::Type)), this,
                SLOT(onToastFinished(bb::system::SystemUiResult::Type)));
    
        toast->show();
    }
    
    void ApplicationUI::onToastFinished(bb::system::SystemUiResult::Type result) {
        qDebug() << "Got it";
        SystemToast *toast = qobject_cast(sender());
        toast->deleteLater();
    }
    

  • Signal not detected on Satellite Pro 6100 wireless

    I have two laptops Satellite Pro 6100, two of them are configured to automatically connect to our local wireless router which they both started.
    A computer is used by myself by my wife; bookmarks, email accounts and so on are different on every computer/hard drive.

    I have problems with one of the computers (mine) - the usual problem with multispindle connectors on the video boards and feeding, then I tried to use "his" computer with 'ma' machine's hard drive.

    His machine does not recognize our LAN with my hard drive installed. He came up with a new network found, but not a wireless network. Also, with this machine and my hard drive installed, can't the machine to search for wireless LANs, the icon does not appear. The switch is turned on for wireless signals and it works very well with his hard drive in it. The network is protected, and the two machines have the same id in them for connection which work fine in the original engine.

    I don't really understand this condition. Something in the bios? Something on my hard drive that is not recognized by the computer? the wrong phase of the Moon?
    Suggestions how to trouble shoot and fix this?

    Both machines are XP Pro on them, latest updates.

    Hello

    Also AFAIK, Satellite Pro 6100 was equipped with different Wlan cards so if use different HDD with different driver then the Wlan card could not be detected by Windows XP.

    Check if the wireless adapter is listed in the Device Manager and recognized correctly.

  • How to connect NotificationDialog finished() signal to a process without a head?

    I tried to get a process in the background to handle the signal in my application without head (because NotificationDialogs are now supported for background process).

    However, whenever I try to connect the signal to a slot, I get the following error:

    QObject::connect: Cannot connect (null): Finish (bb:latform::NotificationResult:Type) at MessageProcessor::dialogFinished (bb:latform::NotificationResult:Type)

    
    
    cpp file:
    
    QObject::connect(pNotificationDialog,SIGNAL(finished(bb::platform::NotificationResult::Type)), this,SLOT(dialogFinished(bb::platform::NotificationResult::Type))); //(for this line I also get the warning below)
    //MessageProcessor::dialogFinished(bb::platform::NotificationResult::Type) has not been //tagged as a Qt member; make sure all parameter types are fully qualified
    
    hpp file:
    
    #include 
    
    class MessageProcessor  : public QObject{
    Q_OBJECT
    
    public slots:
    void dialogFinished(bb::platform::NotificationResult::Type value);
    
    };
    
    Is finished() supported for headless apps?
    

    You are probably not initializing pNotificationDialog

    pNotificationDialog = new bb::platform::NotificationDialog(this);
    
  • MessageService messagesAdded signal not firing

    I am trying to connect the signal of messagesAdded but he isn't shooting QList message.

    When I have several messages in my Inbox on the server, then I goto the hub and do a refresh of the hub downloads the messages but not pull the app message signal.

    If there is only one message, then the signal is triggered to as the signal but not this signal.

    In the sample application by BlackBerry messages they have that.

    in the .h file
    
    private Q_SLOTS:    // Filters the messages in the model according to the filter property    void filterMessages();
    
    in the C++ file
    
    connect(m_messageService, SIGNAL(messagesAdded(bb::pim::account::AccountKey,    QList, QList)), SLOT(filterMessages()));
    
    void Messages::filterMessages(){}
    

    I had problems to connect the signal "messagesAdded" too. I came to identify when the signal is launched, but when that happens, that he was throwing the following error message:

    QObject::connect: Cannot queue arguments of type 'QList'
    (Make sure 'QList' is registered using qRegisterMetaType().)
    

    This thread has helped me solve it: http://qt-project.org/forums/viewthread/2884

    Adding the following lines I could connect and manage the signal:

    In .hpp file:
    
    Q_DECLARE_METATYPE(QList)
    
    in .cpp file:
    
    qRegisterMetaType >("QList");
    qRegisterMetaType >("QList");
    
    ...
    
    connect(_messageService, SIGNAL(messagesAdded(bb::pim::account::AccountKey,QList,QList)),
    SLOT(onNewMessages(bb::pim::account::AccountKey, QList,QList)),
                      Qt::QueuedConnection);
    

    The signal is sent when a new email account is added (an e-mail account, for example) or when several messages come from the server at the same time. To test the program is more convenient to try the first case because we don't have a lot of control to force the other.

    Hope this will help.

  • QNetworkAccessManager finished signal never happens

        static QNetworkAccessManager* netManager = new QNetworkAccessManager();
        if (netManager) {
            QUrl url("http://some.url:8080/image.png");
            QNetworkRequest networkRequest(url);
            this->connect(netManager, SIGNAL(finished()), this, SLOT(onReply()));
            QNetworkReply* networkReply = netManager->get(networkRequest);
        }
    

    the onReply() method is:

    void MyAppClassExtendsQObject::onReply(QNetworkReply* reply) {
        if (reply->error() != QNetworkReply::NoError) {
            qDebug() << "Image not available or any error";
            return;
        }
        Image image = Image(reply->readAll());
        ImageView* imageView = Glue::i()->getRoot()->findChild("id_media");
        if (imageView) {
            imageView->setImage(image);
        }
    }
    

    onReply never gets called, however this code used to work as it is in one of my previous versions of an application. What's not here?

    THX!

    You could paste the header file?

    Make sure that the slot is declared in "slots: ' section and line Q_OBJECT is not included in the class definition. The class must inherit from QObject or its descendants.

    Add some logging inside the if {} after a call to the connect() to make sure that this branch has been called.

    Try to replace the connect() with QObject::connect()

  • Graph plot legend colors Signal not updated when mixed with the property node

    Hello

    We try to put the colors of the trace of a graph of Mixed Signal using a property node. Although we can change the color of the data in the field correctly, the colours of the plot in the legend do not change until some apparently unrelated operator action is performed (for example, to resize the window or by double-clicking a field name).  Waveform to XY charts don't seem to have this problem.

    Anyone know a work around?  I think I saw a similar topic on the forums earlier, but I'm sorry that I am unable to find it now

    See attached vi.

    Thank you

    -john

    I should probably have joined the last post of VI, but I have has been a thread of error between the two loops.  I also deleted the text you had so I could see the I need to press the button.

Maybe you are looking for