C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Конвертирование любых типов в Variant
Syfer
  Отправлено: 15.10.2003, 12:30


Ученик-кочегар

Группа: Участник
Сообщений: 10



Добрый день. Пишу клиентское приложение используя ADSI на win2000server, и у меня возникла небольшая проблемка. Подскажите пожалуйста как преобразовать переменную типов AnsiString,Int,Char,BSTR и др. в тип Variant.
Я использую функцию Put(wchar_t*,tagVARIANT) для записи значения в атрибут cSPU-Studentst-Id в ActiveDirectory.

Вот пример кода:

IADsUser *pADs;
TCHAR chUser[MAX_PATH];
AnsiString AId=Edit1->Text;


_tcscpy(chUser,TEXT("LDAP://CN=АБДУЛЛИН АЗАМАТ ВАРИСОВИЧ,OU=Students,DC=Server10"));
hr = ADsGetObject(chUser,IID_IADsUser,(void**)&pADs);
if(SUCCEEDED(hr))
pADs->Put(TEXT("cSPU-Studentst-Id"),???);

??? — вот тут я не знаю как конвертировать переменную AId в тип Variant.

Может быть я не так что-то делаю? Буду рад любым пердложениям.
Спасибо.Заранее благодарен.
Borgir
Отправлено: 15.10.2003, 13:49


Дежурный стрелочник

Группа: Участник
Сообщений: 48



Просто приравнивай и все. По-крайней мере у меня это проходит с AnsiString и int.
Guest
Отправлено: 15.10.2003, 14:02


Не зарегистрирован







Пробовал ...

AnsiString AId=Edit1->Text;
VARIANT varId=AId;
.......
Ошбка возникает в этой строке: pADs->Put(TEXT("cSPU-Studentst-Id"),varId);

[C++ Error] UUsers.cpp(145): E2034 Cannot convert 'AnsiString' to 'tagVARIANT'
sad.gif
Syfer
Отправлено: 15.10.2003, 14:14


Ученик-кочегар

Группа: Участник
Сообщений: 10



Забыл залогиниться smile.gif

Обычное присваивание не помогло.
Может кто знает какую-нть ссылочку про этот тип Variant (желательно на русском) или использования функции Put?
Admin
Отправлено: 15.10.2003, 15:49


Владимир

Группа: Администратор
Сообщений: 1190



Попробуйте:
CODE

AnsiString AId=Edit1->Text;
Variant varId = Variant(AId);


Тоже самое с int и с другими типами.

Отредактировано Admin — 15/10/2003, 16:53
Syfer
Отправлено: 15.10.2003, 16:20


Ученик-кочегар

Группа: Участник
Сообщений: 10



Все получилось.
Большое вам спасибо. biggrin.gif biggrin.gif biggrin.gif

Вернуться в Вопросы программирования в C++Builder