Почему не работает на другом копьютере |
Здравствуйте, гость ( Вход | Регистрация )
Почему не работает на другом копьютере |
Wlad |
9.12.2008, 14:20
Сообщение
#1
|
Студент Группа: Участник Сообщений: 21 Регистрация: 9.12.2008 Пользователь №: 450 Спасибо сказали: 0 раз(а) Репутация: 1 |
Программа прекрасно работает на копьютере где была создана!
Но на другом не работает - выдает сообжение: Invalid variant operation Библиотеки: mingwm10.dll QtCore4.dll QtGui4.dll были, естественно добавлены на новый комп. Что еще надо непонятно! В программе истользуется QVariant, вот при первом же оращении к нему и выдается эта ошибка. То есть на чужом компе не работает QVariant Может кто знает, чего не хватает? Спасибо Сообщение отредактировал Litkevich Yuriy - 18.12.2008, 21:00 |
|
|
Wlad |
10.12.2008, 19:20
Сообщение
#2
|
Студент Группа: Участник Сообщений: 21 Регистрация: 9.12.2008 Пользователь №: 450 Спасибо сказали: 0 раз(а) Репутация: 1 |
Разобрался!
Invalid мне выдовал не QVariant а виндовый VARIANT. Дело в том, что КомбоБоксы я заполняю информацией, полученной по СОМ интерфейсу из чужой программы. В Qt при выполнении addItem высылается сигнал currentIndexChanged(int), его то я и использоапл для дальнейшего заполнения формы получая информацию по СОМ интерфейсу. Здесь я использовал VARIANT. Когда я писал этот участок кода (это у меня отдельный класс) у меня сразу возник вопрос - как передать целое число в VARIANT? Здесь много вариантов: VT_I2, VT_I4, VT_INT. До этого, я много лет писал анологичные программы на Builder, и все отлично работало! Потому как в Builderе есть свой Variant. Его я в анологичных случаях и использовал. Поэтому я проверил какой тип выставляет Борланский Variant. Написал махонькою программку и посмотрел. Variant мне выдал тип VT_INT. пдставил, проверир, все Ok! Но проверял то я на своем компе! Дело в том, что при установке Builder, он заменяет библиотеку OLEAUT32.DLL, где как раз находится библиотека работы с VARIANT, на свою (у нее другая длина и дата), поэтому, у меня все и работало, а на других компах нет! Интересный факт: там, где OLEAUT32 заненена можно при передачи целого числа в VARIANT указывать как VT_I4, так и VT_INT, все работает! если же стоит виндовая DLLка - проходит только VT_I4. Так что тема закрыта. Большое спасибо за помощь! К слову. Давно хотел уйти с Builder, долго не мог найти замену. Но, наконец встретил Qt. Отличная библиотека! Очень продуманная! Могу привести много примеров, где в Builder приходилось выкручваться с ейными компонентами, а В Qt это уже заложено в Widget-ы. Но это наверное не по теме. |
|
|
Текстовая версия | Сейчас: 23.12.2024, 23:08 |