Форум: "WinAPI";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Вниз
можно ли преобразовать String в LPWSTR? Найти похожие ветки
← →
Delta (2004-01-16 14:02) [0]если нетрудно, то пожалуйста дайте пример
← →
_hunter_ © (2004-01-16 14:09) [1]var
l: LPWSTR;
s: string;
begin
s:="sss";
l:=PWideChar(s);
end;
← →
BiN © (2004-01-16 14:12) [2]_hunter_ © (16.01.04 14:09) [1]
и получится лабуда...
надо
PWideChar(WideString(S));
← →
Игорь Шевченко © (2004-01-16 14:54) [3]StringToWideChar
← →
Delta (2004-01-16 16:23) [4]извините, что не в той теме, я перепутал нечаяно
функция, к сожалению не принимает PWideChar(WideString(S));
а со StringToWideChar я не разобрался, подскажите пожалуйста
← →
BiN © (2004-01-16 16:38) [5]что за функция?
если этот параметр принимает данные, то, конечно, используй StringToWideChar, в противном случае должна подойти [2]
← →
Delta (2004-01-16 16:46) [6]функция NetUserChangePassword,
параметры я ей передаю (4 параметра, все LPWSTR),
если передаю просто в коде
написанное "password" , к примеру - работает,
если PWideChar(WideString(pswd)) - нет...
что интересно, что имя пользователя передается...
поэтому я и хотел попросить пример StringToWideChar, т.к.
не понял что и куда там писать.
← →
BiN © (2004-01-16 16:59) [7]что возвращает функция, какую ошибку.
← →
Delta (2004-01-16 17:08) [8]function TForm1.ChangePassword(Domain,User,Old,New:String):String;
var c:String;
Er:Integer;
begin
c:="";
Er:=NetUserChangePassword(StrToPw(Domain),StrToPw(User),StrToPw(Old),StrToPw(New));
case Er of
0:c:="Successfully";
ERROR_ACCESS_DENIED:c:="Access denied";
86:c:="Bad password";
2221:c:="Unknown username";
1351:c:="Domain not found";
else c:="Error "+IntToStr(Er);
end;
Result:=c;
end;
function TForm1.StrToPw(Str:String):PWideChar;
var l,l2:LPWSTR;
begin
Result:=Pwidechar(widestring(Str));
end;
ShowMessage(ChangePassword("MAX",nusers[1],npassword[1],"2")); - Не работает
ShowMessage(IntToStr(NetUserChangePassword("Max","Administrator","1","2"))); - работает
← →
BiN © (2004-01-16 17:16) [9]ShowMessage(ChangePassword("MAX",nusers[1],npassword[1],"2")); - Не работает
&*%&^$)P%$^%$^**^%!!!!!
что за nusers[1],npassword[1]
сомневаюсь, что у тебя есть юзер с именем и паролем длиной в один символ
← →
Delta (2004-01-16 17:20) [10]теоретически есть....
это массив
дело не в этом, если подставить значения без этих переменных,
если параметр строки - String - не работает :(
← →
BiN © (2004-01-16 17:27) [11]пока ты не сказал какую выдает ошибку (в твоем случае Er), говорить о чем-то бессмысленно.
← →
Delta (2004-01-16 17:30) [12]Действительно, не передал,
вроде писал...
функция выдает в первом случае BadPassword, т.е.
сама функция NetUserChangePassowrd возвращает 86,
во втором случае - 0
← →
BiN © (2004-01-16 17:36) [13]а попробуй напрямую написать
Er:=NetUserChangePassword(Pwidechar(widestring(Domain)),Pwidechar(widestring(User)),Pwidechar(widestring(Old)),Pwidechar (widestring(New)));
и обязательно отладчиком проверь входные значения. что-то мне не верится, что это все не работает. Пароль-то ты правильный указываешь?
← →
Delta (2004-01-16 17:39) [14]Да, пробовал... в том то и дело, что имя он читает "вроде" правильно, т.к. если неизвестное имя - другая ошибка,
а пароль нет... пароль и имя, правильные, заведомо, проверял...
ты знаешь как использовать StringToWideChar?
может это быдет работать?
← →
BiN © (2004-01-16 17:53) [15]StringToWideChar - в данном случае идеологически неверно.
← →
MScorp (2004-01-16 18:07) [16]Спасибо, еще раз все проверю, наверное что-то перепутал
← →
Игорь Шевченко © (2004-01-16 18:07) [17]BiN © (16.01.04 17:53)
> StringToWideChar - в данном случае идеологически неверно.
Можно узнать, почему ?
← →
nikkie © (2004-01-16 23:59) [18]грубейшая ошибка в том, что
PWideChar(WideString(S))
вынесено в отдельную функцию.
← →
BiN © (2004-01-18 18:53) [19]nikkie © (16.01.04 23:59) [18]
абсолютно согласен
Игорь Шевченко © (16.01.04 18:07) [17]
для каждого параметра нужно писать код по выделению и освобождению памяти, хотя все можно реализовать с помощью приведения типов - ведь в данную функцию предаются константы.
← →
jack128 © (2004-01-18 22:11) [20]Удалено модератором
Примечание: Offtopic
← →
Игорь Шевченко © (2004-01-19 10:54) [21]BiN © (18.01.04 18:53)
> для каждого параметра нужно писать код по выделению и освобождению
> памяти
????????? Зачем ????????
← →
BiN © (2004-01-19 11:35) [22]Игорь Шевченко © (19.01.04 10:54) [21]
????????? Зачем ????????
... или же придется заводить массив of widechar, что по моему сугубо личному мнению все же не столь эффективно, как приведение типов - поправьте меня, если я не прав.
← →
Игорь Шевченко © (2004-01-19 11:44) [23]BiN © (19.01.04 11:35)
я именно массив и имел в виду. Впрочем, это уже частности, разумеется, но говорить об идеологии я бы остерегся :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.042 c