QList не "переносится" из плагина |
Здравствуйте, гость ( Вход | Регистрация )
QList не "переносится" из плагина |
gigabyte |
9.8.2009, 21:47
Сообщение
#1
|
Студент Группа: Участник Сообщений: 20 Регистрация: 9.8.2009 Пользователь №: 992 Спасибо сказали: 2 раз(а) Репутация: 1 |
Здравствуйте уважаемые знатоки. Опять же о тонкостях Qt(MinGW + Qt 4.5.1 + Eclipse + Qt Integration)
До этого момента использовал Qt plugin непосредственно т.е. QPluginLoader->instance() теперь же использую для создания компонентов фабрику т.е.
Но тут появилась проблема, до того как перешел на использование фабрики в класс выглядел следующим образом:
обратите внимание на метод void uiButtons(QList<int> btns); - метод интерфейса ViewInterface. Значит до использования фабрики этот метод работал нормально - т.е. возвращал Список идентификаторов кнопок которые следует отображать, сейчас же он возвращает пустой список. В чем может быть проблема? P.S. Как видите раньше использовалась функция возвращающая указатель на список но сейчас заменил на процедуру так как думал что проблема в указателях. Но этот трюк также не проходит |
|
|
BRE |
9.8.2009, 21:53
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Тут дело не в Qt, а в C++. Почитай по поводу ссылок.
|
|
|
gigabyte |
9.8.2009, 22:03
Сообщение
#3
|
Студент Группа: Участник Сообщений: 20 Регистрация: 9.8.2009 Пользователь №: 992 Спасибо сказали: 2 раз(а) Репутация: 1 |
Тут дело не в Qt, а в C++. Почитай по поводу ссылок. void uiButtons(QList<int>& btns); Если вы рекомендуете добавить & в метод, - то не помогло только что сделал Тут дело не в Qt, а в C++. Почитай по поводу ссылок. void uiButtons(QList<int>& btns); Только что хотел попробовать через указатели т.е.
А потом в коде програаммы:
Тоже не помогло |
|
|
BRE |
9.8.2009, 22:03
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
gigabyte |
9.8.2009, 22:08
Сообщение
#5
|
Студент Группа: Участник Сообщений: 20 Регистрация: 9.8.2009 Пользователь №: 992 Спасибо сказали: 2 раз(а) Репутация: 1 |
|
|
|
Litkevich Yuriy |
9.8.2009, 22:13
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
т.е. возвращал Список идентификаторов этот метод ничего не возвращает, он voidсделай так: тогда любому человеку будет понятно, что этот метод возвращает список кнопокААА блин опять [ code ] [ /code ] забыл Смотри Справка по кнопкам и тэгам форума
|
|
|
BRE |
9.8.2009, 22:27
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
А точно uiBtns не пустой в этот момент? Попробуй добавить вывод qDebug() << *uiBtns << *btns до и после присвоения. сделай так:
тогда любому человеку будет понятно, что этот метод возвращает список кнопок +1 Думаю это будет самый лучший вариант.
|
|
|
gigabyte |
10.8.2009, 10:47
Сообщение
#8
|
Студент Группа: Участник Сообщений: 20 Регистрация: 9.8.2009 Пользователь №: 992 Спасибо сказали: 2 раз(а) Репутация: 1 |
Разобрался, заменил в коде который вызывает плагин приведение типов:
на
P.S. Очень уж Qt щепетильно относится к привидению типов Delphi в этом смысле более лоялен к кодировщику |
|
|
AD |
10.8.2009, 10:49
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
Litkevich Yuriy |
10.8.2009, 19:23
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 2.12.2024, 9:55 |