我正在Blackberry 10中开发一个应用程序.我已经安装了QNXMomentics用于开发,而Dev alpha Simulator用于调试.要在QNX中运行应用程序,需要从设备或模拟器指定IP Addess.但是在我的模拟器上它没有显示菜单,只有欢迎屏幕显示在模拟器中,这里有什么问题
我正在为 Blackberry 10 开发一个应用程序,当我尝试从 QStringList 获取元素 2 而该列表仅包含 1 个元素时,我的应用程序崩溃了。
我正在使用以下代码来捕获此类错误:
try {
//a code that accesses QStringList with an index out of bounds
}
catch (Exception e) {
}
Run Code Online (Sandbox Code Playgroud)
但异常没有被捕获,应用程序总是崩溃。
我尝试了 catch (std:exception& e) 和 catch(...) 也没有工作。
如何使用 try catch 捕获此错误?
我不知道为什么会发生这种情况.我已经扩展QObject
并添加了宏Q_OBJECT
.信号和插槽也有相同的参数.
我已经发布了原始问题
这是我的hpp文件:
/*
* LocationMonitor.hpp
*
* Created on: Jul 13, 2013
* Author: Roland
*/
#ifndef LOCATIONMONITOR_HPP_
#define LOCATIONMONITOR_HPP_
#include <QObject>
#include <QtLocationSubset/qgeopositioninfo.h>
#include <QtLocationSubset/qgeoareamonitor.h>
using namespace Qt;
using namespace QtMobilitySubset;
class GeoNotification;
class LocationMonitor : public QObject
{
Q_OBJECT
public:
LocationMonitor(int id,GeoNotification *geoNotification,QVariantList locationList,QVariantList actionList);
virtual ~LocationMonitor();
public slots:
void areaEnteredd(QtMobilitySubset::QGeoPositionInfo info);
void areaExitedd(QtMobilitySubset::QGeoPositionInfo info);
public:
QGeoAreaMonitor *monitor;
};
#endif /* LOCATIONMONITOR_HPP_ */
Run Code Online (Sandbox Code Playgroud)
这是我的cpp文件
/*
* LocationMonitor.cpp
*
* Created on: Jul …
Run Code Online (Sandbox Code Playgroud) 我正在我的项目中进行数据库操作.我有一个文件'dataBaseMaster',它有一个函数updateIntoTestResult().我通过设置这样的上下文创建了一个dbMasterObject
qml->setContextProperty("dbMasterObject", dbMasterObject);
但是当我尝试在main.qml中调用此updateIntoTestResult()方法时,我收到这样的错误
TypeError: Result of expression 'dbMasterObject.updateIntoTestResult' [undefined] is not a function
DatabaseMaster.hpp
class DatabaseMaster : public QObject
{
public:
Q_OBJECT
public:
void updateIntoTestResult(int id, int result);
};
Run Code Online (Sandbox Code Playgroud)
DatabaseMaster.cpp
void DatabaseMaster::updateIntoTestResult(int id, int result) {
QSqlDatabase database = QSqlDatabase::database();
QSqlQuery query(database);
query.prepare("update "+TEST_RESULT_MASTER+" set "+RESULT+" = :"+RESULT+" where "+TEST_ID+"= :"+TEST_ID+";");
query.bindValue(":"+RESULT, result);
query.bindValue(":"+TEST_ID, id);
query.exec();
Run Code Online (Sandbox Code Playgroud)
在main.qml中调用
dbMasterObject.updateIntoTestResult(MICROPHONE_ID, TEST_STATE_PASS)
Run Code Online (Sandbox Code Playgroud)
请帮帮我,为什么我得到这个错误,而我已正确宣布该方法.
提前致谢..!!
我正在使用momentics IDE(原生SDK)开发BlackBerry 10移动应用程序.
当我尝试构建项目并在设备上测试它(BlackBerry Dev alpha B)时,它会无缘无故崩溃并出现以下错误:
"启用了Qml调试.只能在安全的环境中使用它!"
我真的不知道它来自哪里,我在网上搜索了很多没有结果.拜托,有没有人对此有任何想法?
我有一个BB Web Works的应用程序.我通过邮件收到了csk文件.当我使用命令行构建时,它会报告缺少author.p12文件的错误.请指导如何获得相同.谢谢.
我们知道Blackberry 10可以运行Android应用程序.有人试过Android的Telerik Nativescript并让它运行Blackberry 10吗?
如果是这样,是否有可能解释能够做到的步骤?Webworks是否提供任何帮助?
我从黑莓网站上下载了一个例子.我注意到它们在花括号之前有一些值,在冒号后用逗号分隔.
这些是什么,它们如何运作?
编辑:这只是实例化值的另一种方式吗?与在花括号内设置这些值相同吗?
using namespace bb::cascades;
using namespace bb::pim::contacts;
//! [0]
AddressBook::AddressBook(QObject *parent)
: QObject(parent)
, m_contactService(new ContactService(this))
, m_model(new GroupDataModel(this))
, m_contactViewer(new ContactViewer(m_contactService, this))
, m_contactEditor(new ContactEditor(m_contactService, this))
, m_currentContactId(-1)
{
// Disable grouping in data model
m_model->setGrouping(ItemGrouping::None);
// Ensure to invoke the filterContacts() method whenever a contact has been added, changed or removed
bool ok = connect(m_contactService, SIGNAL(contactsAdded(QList<int>)), SLOT(filterContacts()));
Q_ASSERT(ok);
ok = connect(m_contactService, SIGNAL(contactsChanged(QList<int>)), SLOT(filterContacts()));
Q_ASSERT(ok);
ok = connect(m_contactService, SIGNAL(contactsDeleted(QList<int>)), SLOT(filterContacts()));
Q_ASSERT(ok);
// Fill the data model with …
Run Code Online (Sandbox Code Playgroud)