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

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