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'
|
|
Syfer |
Отправлено: 15.10.2003, 14:14 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Забыл залогиниться
Обычное присваивание не помогло.
Может кто знает какую-нть ссылочку про этот тип 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
|
Все получилось.
Большое вам спасибо.
|
|