プロジェクトでデータベース操作を行っています。関数 updateIntoTestResult() を持つファイル「dataBaseMaster」があります。このようにコンテキストを設定して dbMasterObject を作成しました
qml->setContextProperty("dbMasterObject", dbMasterObject);
しかし、main.qml でこの updateIntoTestResult() メソッドを呼び出そうとすると、このようなエラーが発生します
TypeError: Result of expression 'dbMasterObject.updateIntoTestResult' [undefined] is not a function
データベースマスター.hpp
class DatabaseMaster : public QObject
{
public:
Q_OBJECT
public:
void updateIntoTestResult(int id, int result);
};
データベースマスター.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();
main.qml の呼び出し
dbMasterObject.updateIntoTestResult(MICROPHONE_ID, TEST_STATE_PASS)
そのメソッドを正しく宣言しているのに、なぜこのエラーが発生するのですか。
前もって感謝します..!!