![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
может кто по C++Builder подскажет? насчет типа Variant
olden69 © (2002-05-15 16:58:00)все-таки Variant - VCLный тип
есть процедура
внутри нее следующий код
wchar_t* FName = new wchar_t[bFont->Name.WideCharBufSize()] ;
bFont->Name.WideChar(FName,bFont->Name.WideCharBufSize()));
vFont->Name.WideChar(FName,vFont->Name.WideCharBufSize());
Variant FontName(FName); //Variant::Variant(wchar_t*)
//задаем имя шрифта для ячеек Excel
bRange.OlePropertyGet("Font").OlePropertySet("Name", FontName);
delete FName;
и при выходе из процедуры ругается. Такое ощущение, что пытается при выходе удалить объект, который уже удален. И похоже, что проблема именно с Variant FontName. Если попробовать сделать FontName.Clear() сразу после OlePropertySet, то выскочит та же ошибка. Если объявить "Variant FontName(&FName)" то проблема уходит, но OlePropertySet("Name", FontName) не может обработать FontName, ругается на невозможность его интерпретации.
Дмитрий Баранов (2002-05-15 17:10:00) [1]С билдером я не работал, но может, попробовать именно MS? (VARIANT или _variant_t) ?
(тип VARIANT требует во-первых инициализации (VariantInit), во-вторых, надо явно указать тип данных (VT_INT, VT_BSTR и т.п.))