Доброго времени суток !
Уважаемые форумчане, подскажите плз, почему объект
не виден в QSA (именно QSA, тот который был в 3-ке)
Вроде по примеру врапер сделал, а интерТрепатор ругается...
Ругань в прицепе
class fpForma : public QDialog // Класс объекта
{
Q_OBJECT
public:
fpForma(int id, MainWindow *parent = 0, Qt::WindowFlags f = 0);
~fpForma();
bool initForm(int Cmd = 0);
public slots:
void save();
void submit();
void on_buttonBox_accepted(); { save(); submit(); accept (); }
// skip
private:
MainWindow *Parent;
QModelIndex curIndex;
QSqlRecord curRecord;
};
///////////////////////////////////////////////////////////////////
// WRAPPER
#ifndef WRAPPERS_H
#define WRAPPERS_H
#include <qswrapperfactory.h>
#include "fpforma.h"
#include "fptablemodel.h"
class fpFormaWrapper : public QObject
{
Q_OBJECT
// Q_PROPERTY(QString text READ text WRITE setText)
public:
fpFormaWrapper(fpForma *f) : Forma(f) { }
public slots:
QModelIndex getIndex() { return Forma->getCurIndex(); }
QSqlRecord getRecord() { return Forma->getCurRecord(); }
private:
fpForma *Forma;
};
class Wrappers : public QSWrapperFactory
{
public:
Wrappers()
{
registerWrapper("Forma");
}
QObject *create(const QString &name, void *ptr)
{
if (name == "Forma")
return new fpFormaWrapper((fpForma *)ptr);
return 0;
}
};
#endif
///////////////////////////////////////////////////////////////////
// Кусок из mainwindow.cpp
fpForma *Forma = new fpForma(frmN, this);
Forma->setObjectName("Forma");
interpreter->addTransientObject(Forma);
Forma->initForm(idt); // actiontype
// Не нужен, т.к. вызывается ранее при добавлении скрипта
// к interpreter-у. Проверено !
// interpreter->evaluate(locScr);
Forma->exec();
///////////////////////////////////////////////////////////////////
// Скрипт вызывающий ошибку
function on_frm490Open()
{
var rec = Forma.getRecord(); // <-- Ругань на картинке - эта строка
var idx = Forma.getIndex();
}
///////////////////////////////////////////////////////////////////
Эскизы прикрепленных изображений