Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Variant (const unsigned __int64), Ambiguity between '_fastcall System::Var 
:(
    Опции темы
np9mi7
  Дата 10.10.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 1
Всего: 10



Добрый день.

Есть код:
Код

const unsigned __int64 ullValue = __int64 ();
Variant vValue (ullValue);


При попытке скомпилировать:
Цитата

Ambiguity between '_fastcall System::Variant::Variant(const char)' and '_fastcall System::Variant::Variant(const signed char)'


При просмотре исходников VCL не нашел конструктора от unsigned __int64.

Как с этим бороться? Как передать хранимой процедуре unsigned __int64?

Заранее благодарен за ответы.


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
_hunter
Дата 10.10.2005, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



так и передавай ( как компилятор предлагает ):
Variant vValue ((char*)ullValue);


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
np9mi7
Дата 10.10.2005, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 1
Всего: 10



Цитата
так и передавай ( как компилятор предлагает ):
Variant vValue ((char*)ullValue);
, прикольно, ну и в итоге ему передается 4 - ре байта, а мне нужно восемь.....


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
szz
Дата 10.10.2005, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 1
Всего: 33



А ты в Variant никогда не сохранишь 64-битные целые - забудь об этом. В Variant для int используется системной ширины целое, которое как правило 32 бита.
Напиши сам свой Variant - это не должно быть сложно.


--------------------
PM   Вверх
_hunter
Дата 10.10.2005, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



Цитата
у и в итоге ему передается 4 - ре байта

логично -- если нули встречаются...
тогда смотрим на конструкторы для массивов:
Variant(const int* bounds, const int boundsSize, Word varType);

соответственно:
Variant MyVariant(OPENARRAY(int, (0, 8)), varInteger);
for ( int i = 0; i < 9; i++ )
MyVariant.PutElement(((char*)&number)[i], i);
( возможно нужно будет развернуть массив )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
np9mi7
Дата 10.10.2005, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 1
Всего: 10



_hunter, в итоге байтами и обошелся....


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
np9mi7
Дата 24.1.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 1
Всего: 10



Код

Variant vTableValue;

/// ...
/// получение значения из базы
/// ...

TVariant vValue (vTableValue);
unsigned long long ullValue = vValue.ullVal;


И никаких байт не нужно;


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0569 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.