Re[2]: VARIANT*
От: Sash  
Дата: 14.02.03 08:31
Оценка:
Здравствуйте, Flamer, Вы писали:

F>Здравствуйте, Sash, Вы писали:


F>

S>>Но, как значения положить в параметр типа VARIANT*, имея массив типа Variant? Вручную меняю все VARIANT на Variant и тогда все нормально. Но это неудобно. Буду благодарен за помощь.

F>Все просто и не надо нервничать У класса TVariant, помимо всего прочего, определен


F>

F>
F>operator VARIANT*
F>


F>Ничего не напоминает? К тому-же, у этого самого TVariant есть метод ChangeType, который по ходу меняет vt. Так что — TVariant в зубы и вперед!


F>З.Ы. Кстати, к слову: тот-же operator = у TVariant кюшает практически все...

F>
<Большое спасибо за помощь. Сделал я так:

STDMETHODIMP TmakeImpl::getVar(VARIANT Energy, VARIANT* Result)
{
  TVariant EnergyPtr(Energy);

  TVariant ResultPtr;
  ResultPtr.operator =(Result);
  Variant vResult = (Variant) ResultPtr;
  vResult.PutElement(1., 0);  vResult.PutElement(3., 2);
}


Клиент получает значения из Result. Но почему замена


  TVariant ResultPtr;
  ResultPtr.operator =(Result);



на TVariant ResultPtr(Result);
не проходит ?
Какие могут быть варианты?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.