Ask Cascades: bawa variable di Slot()

6 views
Skip to first unread message

Ibnu Maksum

unread,
Mar 27, 2014, 5:56:37 AM3/27/14
to blackberry...@googlegroups.com
Jadi gini
kalo di Java kita bisa bikin interface, lalu koneksi Thread bisa dikasih tahu hasilnya kirim ke Class A dengan interface yg sudah di buat
kalo di Javascript bisa Function bisa dikasih tahu kalo sukses kirim data ke Function onSuccess, kalo gagal kirim pesan ke function onError

nah kalo di Cascades C++ saya bingung, ga ada menentukan ini diarahkan kemana, semua di Emit ke yg sudah ditentukan di header.
biar fungsi yg saya buat ini bisa multi task, dipanggil beberapa kali tapi tidak bentrok, bisa ngga di slot ditambahin variable
QObject::connect(sender, SIGNAL(finished()), receiver, SLOT(onprocessFinished(variable)));
kode diatas sudah menunjukkan logo bug di momentics, cara lain gara ngasih tahu hasil Process A untuk A gimana yah?

HTTPRequest::getData(QString url, QString untuk){

   // lakukan fungsi HTTP Request

   QNetworkReply* ipReply = this->netManager->get(request);

   connect(ipReply, SIGNAL(finished()), this, SLOT(onFinished(untuk)));

}

Untuk digunakan untuk mengarahkan ke fungsi yg akan memproses data yg diterima

saya sudah set jadi private variable, tapi untuk nya akan berubah menjadi request yg paling terakhir masuk.

fungsi diatas menjadi QML Component

HTTPRequest {

    id: httprequest

    onComplete: {

        if(untuk=="untuk a")

            labelHasilA.Text = result;

        else if(untuk=="untuk b")

            labelHasilB.Text = result;

        else if(untuk=="untuk c")

            labelHasilC.Text = result;

    }

    onError: {

        labelHasil.Text = errorMessage;

    }

}

httprequest.getData(apiEndPoint + "a","untuk a");

httprequest.getData(apiEndPoint + "b","untuk b");

httprequest.getData(apiEndPoint + "c","untuk c");


Tadinya sudah nyaman dengan AJAX Request di QML, tapi sayang semenjak certificate SSL diupdate, di Blackberry 10 buka website HTTPS nya Error

dan baru bener di OS Leaked terbaru 10.2.1.1925 keatas

Ajax Request ini tidak bisa ignore SSL Warning, langsung stop tidak ambil data

akhirnya dipindahin ke C++


apa harus bikin Component untuk tiap Request?





Yuli Chanz

unread,
Mar 27, 2014, 6:05:59 AM3/27/14
to Indonesia Blackberry Developer
kalau gw untuk case kek gitu biasana pakai property di reply.

Best Regards,


Chanz


--
Website: http://bbdevid.com
Submit aplikasi ke BlackBerry World tapi sudah lebih dari LIMA hari belum ada kabar? Lapor di sini: http://j.mp/bbwclaim
---
Anda menerima pesan ini karena berlangganan grup "Indonesia Blackberry Developer" di Google Grup.
Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-devel...@googlegroups.com.
Untuk mengeposkan ke grup ini, kirim email ke blackberry...@googlegroups.com.
Untuk opsi lebih lanjut, kunjungi https://groups.google.com/d/optout.

ibnu maksum

unread,
Mar 27, 2014, 6:07:04 AM3/27/14
to Yuli Chanz, blackberry...@googlegroups.com
Property yg seperti apa?
ada contoh? 
:D

-- 
ibnu maksum
Sent with Airmail

Yuli Chanz

unread,
Mar 27, 2014, 6:29:33 AM3/27/14
to ibnu maksum, Indonesia Blackberry Developer
untuk send
reply->setProperty("data", data);

untuk retrieve
reply->property("data");

Best Regards,


Chanz

lynx...@gmail.com

unread,
Mar 27, 2014, 6:52:28 AM3/27/14
to blackberry...@googlegroups.com
Semua signal dan slot bisa ditambahi variable kang. Jadi kalo signal nya misalnya

finishedWithData(const QString name); slot nya namanya bisa diterima variabel namanya. Untuk emit signal dengan variabel bisa kayak gini.

const QString namaSaya("Ibnu");
emit finishedWithData(namaSaya);

Dikirim dari ponsel cerdas BlackBerry 10 saya dengan jaringan XL.
Dari: Ibnu Maksum
Terkirim: Kamis, 27 Maret 2014 16.56
Perihal: [BBDevID] Ask Cascades: bawa variable di Slot()

Ibnu Maksum

unread,
Mar 27, 2014, 6:55:40 AM3/27/14
to blackberry...@googlegroups.com
Bukan di Emit nya Mas, tapi dibagian ini onFinished(untuk)
connect(ipReply, SIGNAL(finished()), thisSLOT(onFinished(untuk)));

void HTTPRequest::onFinished(QString untuk) {

Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-developer+unsub...@googlegroups.com.

Ibnu Maksum

unread,
Mar 27, 2014, 6:56:05 AM3/27/14
to blackberry...@googlegroups.com, ibnu maksum
Dicoba dulu Mas :D
brb

Best Regards,


Chanz



Best Regards,


Chanz


Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-developer+unsub...@googlegroups.com.

Untuk mengeposkan ke grup ini, kirim email ke blackberry...@googlegroups.com.
Untuk opsi lebih lanjut, kunjungi https://groups.google.com/d/optout.
--
Website: http://bbdevid.com
Submit aplikasi ke BlackBerry World tapi sudah lebih dari LIMA hari belum ada kabar? Lapor di sini: http://j.mp/bbwclaim
---
Anda menerima pesan ini karena berlangganan grup "Indonesia Blackberry Developer" di Google Grup.
Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-developer+unsub...@googlegroups.com.

lynx...@gmail.com

unread,
Mar 27, 2014, 6:58:32 AM3/27/14
to blackberry...@googlegroups.com
Owalah network ya, baik, saya ada tips kalo yang ini. Soale ‎network di Qt kan async :). Jadi satu koneksi satu request. Dan karena async jadi memang ga mungkin dilemparkan langsung pas finished.

Aku lagi mobile, ‎nanti coba aku bikin kode simple.

Dikirim dari ponsel cerdas BlackBerry 10 saya dengan jaringan XL.
Dari: Ibnu Maksum
Terkirim: Kamis, 27 Maret 2014 17.55
Perihal: Re: [BBDevID] Ask Cascades: bawa variable di Slot()

Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-devel...@googlegroups.com.

Ibnu Maksum

unread,
Mar 27, 2014, 7:45:05 AM3/27/14
to blackberry...@googlegroups.com, ibnu maksum
Wah berhasil Bro

Terima kasih :)

jadinya bisa dilempar lagi ke Function Javascript lagi

QNetworkReply* ipReply = this->netManager->get(request);

ipReply->setProperty("untuk",untuk);

connect(ipReply, SIGNAL(finished()), this, SLOT(onFinished()));



HTTPRequest {

    id: httprequest

    onComplete: {

        eval(untuk+ "('" + result + "')");

    }

    onError: {

        onDataGagal(errorMessage)

    }

}


tidak safe sih katanya kalo pake eval, tapi berguna kalo mau request banyak data, langsung lempar ke function lain untuk proses datanya
jadi saya ga perlu bikin banyak komponen HTTPRequest




On Thursday, March 27, 2014 5:29:33 PM UTC+7, Chanz wrote:

Best Regards,


Chanz



Best Regards,


Chanz


Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-developer+unsub...@googlegroups.com.

Untuk mengeposkan ke grup ini, kirim email ke blackberry...@googlegroups.com.
Untuk opsi lebih lanjut, kunjungi https://groups.google.com/d/optout.
--
Website: http://bbdevid.com
Submit aplikasi ke BlackBerry World tapi sudah lebih dari LIMA hari belum ada kabar? Lapor di sini: http://j.mp/bbwclaim
---
Anda menerima pesan ini karena berlangganan grup "Indonesia Blackberry Developer" di Google Grup.
Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-developer+unsub...@googlegroups.com.

Yuli Chanz

unread,
Mar 27, 2014, 10:54:01 AM3/27/14
to Indonesia Blackberry Developer, ibnu maksum
Kalau "untuk" itu dalam bentuk QVariantMap ja bagaimana?

jadi ketika 

QNetworkReply* ipReply = this->netManager->get(request);

QVariantMap untuk();

untuk["result"] = "data123";

ipReply->setProperty("untuk",untuk);

connect(ipReply, SIGNAL(finished()), thisSLOT(onFinished()));


HTTPRequest {

    id: httprequest

    onComplete: {

      console.log("result : " + untuk.result);

    }

    onError: {

        onDataGagal(errorMessage)

    }

}

Kemungkinan sih bisa, tapi cmiiw.


Best Regards,


Chanz


Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-devel...@googlegroups.com.

ibnu maksum

unread,
Mar 27, 2014, 10:55:40 AM3/27/14
to Yuli Chanz, Indonesia Blackberry Developer
Udah berhasil sih 
setPropertynya bisa buat nyimpen apapun :D

-- 
ibnu maksum
Sent with Airmail


Best Regards,


Chanz



Best Regards,


Chanz



Best Regards,


Chanz


Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-devel...@googlegroups.com.
Untuk mengeposkan ke grup ini, kirim email ke blackberry...@googlegroups.com.

Untuk opsi lebih lanjut, kunjungi https://groups.google.com/d/optout.
--
Website: http://bbdevid.com
Submit aplikasi ke BlackBerry World tapi sudah lebih dari LIMA hari belum ada kabar? Lapor di sini: http://j.mp/bbwclaim
---
Anda menerima pesan ini karena berlangganan grup "Indonesia Blackberry Developer" di Google Grup.
Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke blackberry-devel...@googlegroups.com.
Untuk mengeposkan ke grup ini, kirim email ke blackberry...@googlegroups.com.

Untuk opsi lebih lanjut, kunjungi https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages