crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Почему не работает на другом копьютере
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-ы.
Но это наверное не по теме.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Wlad   Почему не работает на другом копьютере   9.12.2008, 14:20
- - ViGOur   Как я понимаю, у тебя просто QVariant равен 0, пот...   9.12.2008, 14:26
- - Wlad   Проверял. В QVariant передается строка QString. О...   9.12.2008, 14:33
- - molchanoviv   А показать код и ошибку можешь?   9.12.2008, 14:37
- - Wlad   Для опрелеленности. Спотыкаемся на оченнь простом ...   9.12.2008, 14:41
- - ViGOur   Цитата(Wlad @ 9.12.2008, 14:41) tableComb...   9.12.2008, 14:44
- - Wlad   Руками. Реально строка такая: QMessageBox::inform...   9.12.2008, 14:52
- - ViGOur   Цитата(Wlad @ 9.12.2008, 14:52) tableComb...   9.12.2008, 15:05
- - Wlad   У себя я запускал программу вне IDE, и все Ok...   9.12.2008, 15:33
- - ViGOur   Цитата(Wlad @ 9.12.2008, 15:33) Спасибо з...   9.12.2008, 15:38
- - Wlad   Закоментил заполнение комбобокса. Увидел не заполн...   9.12.2008, 15:52
- - ViGOur   Цитата(ViGOur @ 9.12.2008, 15:38) Как вар...   9.12.2008, 15:54
- - Wlad   Пришол домой, запустил, все работает Ok! Мой д...   9.12.2008, 17:26
- - ViGOur   В таком случае посмотри с помощью Dependence walke...   9.12.2008, 17:29
- - Litkevich Yuriy   Цитата(Wlad @ 9.12.2008, 17:52) До второг...   9.12.2008, 18:00
- - Wlad   Разобрался! Invalid мне выдовал не QVariant а ...   10.12.2008, 19:20
- - ViGOur   Цитата(Wlad @ 10.12.2008, 19:20) Могу при...   10.12.2008, 20:20
- - Litkevich Yuriy   Цитата(ViGOur @ 10.12.2008, 23:20) форуме...   10.12.2008, 20:32
- - kuler   Wlad, не спеши радоваться, еще вспомнишь билдер те...   11.12.2008, 18:01
- - AD   ЦитатаWlad, не спеши радоваться, еще вспомнишь бил...   11.12.2008, 19:46


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


22 чел. читают эту тему (гостей: 22, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.12.2024, 23:08