Очень важно откуда ты значение cat_subtype получаешь. Стандартные методы aObject.Value, aDocument.TableValue возвращают QVariant в котором лежит Q_ULLONG, а QSA не знает, что такое Q_ULLONG, это баг ананаса, я о нём 2 раза писал в старый bugtarcker, но меня слушать почему-то не хотят. Есть один метод через задний проход, тупой и очень тормозной, но рабочий:
- Код: Выделить всё
smpl = new AExtExample;
smpl.lastMessage = cat_subtype;
cat_subtype = smpl.lastMessage;
вот после этого можешь преобразовывать в число. Ещё раз повторяю: метод очень хреновый и тормозной. Вместо AExtExample, можно использовать любой класс, у которого есть свойства типа QString, но я кроме aExtExample из невизульного ничего не нашёл. Также экземпляр AExtExample можно создать в глобальном модуле один раз, при старте, и везде его использовать, но надо учитывать, что кроме всего прочего эта пакость посылает сигнал event раз в 5 секунд, так что если используется on_event, такие сообщения надо обрезать.