Здравствуйте, гость ( Вход | Регистрация )
| Litkevich Yuriy | Дата 9.8.2009, 21:45 |
| 2 Гость_Гость_*, пользуйся тэгом code | |
| AD | Дата 9.8.2009, 21:01 |
Цитата Короче решил проблему так: Берите код в кавычки /[code]/[//code/] пожалуйста, чтобы удобнее было читать! Заранее спасибо! |
|
| Гость | Дата 9.8.2009, 20:57 |
| Короче решил проблему так: Factory.h #define FACTORY_INTERFACE \ virtual QObject * newInstance() const = 0; \ virtual QString getFactoryName() const = 0; \ virtual QString getFactoryDesc() const = 0; \ #define FACTORY(CLASS,CLASSNAME,CLASSDESC) \ public: \ QObject * newInstance() const { return const_cast<QObject *>((QObject *)new CLASS()); }; \ QString getFactoryName() const { return QString(CLASSNAME); }; \ QString getFactoryDesc() const { return QString(CLASSDESC); }; \ private: ViewFactory.h class ViewFactory { public: FACTORY_INTERFACE }; Q_DECLARE_INTERFACE(ViewFactory,"com.tisadb.ViewFactory\0.1") tableview.h class tableviewFactory : public QObject, public ViewFactory { Q_OBJECT Q_INTERFACES(ViewFactory) public: FACTORY(tableview,"TableView", "TableView version 0.1") }; Конечно не то что хотелось бы, если у кого будут еще сообращения - делитесь |
|
| Litkevich Yuriy | Дата 9.8.2009, 20:44 |
но если пытаюсь сделать более универсальный код по моему разумению, универсальный код не строится на макросах вообще. Нужно искать решение в методах (шаблонах) проектирования. |
|
| BRE | Дата 9.8.2009, 20:33 |
Нет, вижу, действительно может moc виноват, и какой может быть выход? moc пробегается по исходникам и выбирает классы, в которых есть макрос Q_OBJECT, и для этих классов генерируется специальные файлы moc_*.cpp. Поэтому, для правильной генерации этих файлов необходимо, что бы moc находил в классе макрос Q_OBJECT, т.е.: |
|
| Гость | Дата 9.8.2009, 20:25 |
| Дык это я уже понял | |
| Litkevich Yuriy | Дата 9.8.2009, 20:22 |
moc - обраватыват только xml moc вообще их читать не умеет, ты путаешь его либо с rcc либо с uic |
|
| Гость | Дата 9.8.2009, 20:21 |
| Нет, вижу, действительно может moc виноват, и какой может быть выход? | |
| Гость | Дата 9.8.2009, 20:16 |
| Тем более судя по исходникам эту подстановку делает не moc а препроцессор GCC, а moc - обраватыват только xml-ки и подставляет из вывод в соответствующие файлы | |
| Гость | Дата 9.8.2009, 20:13 |
| И какой может быть выход? | |
| Просмотр темы полностью (откроется в новом окне) | |
|
Текстовая версия | Сейчас: 9.12.2025, 20:54 |