Hallo!
Also, ich habe sowohl meine eigene (umständliche) Routine als auch die von Marabu ausprobiert, wohlgemerkt ohne die ADSHelper-Units, und ohne Exceptions zu erhalten. Kann es sein, daß die Funktionen in der Helper-
Unit falsch abgebildet werden oder so?
Delphi-Quellcode:
function GetUsername(Domain,Kennung:
String):
String;
var
usr: IADSUser;
pc:
array[0..255]
of WideChar;
s:
String;
begin
s:='
WinNT://'+Domain+'
/'+Kennung;
StringToWideChar(S,PC,Length(S)+1);
ADsGetObject(pc, IADsUser, usr);
if not Assigned(usr)
then
Result := '
Unknown'
else
Result := usr.FullName;
end;
function GetUserFullname(Domain, Username:
string):
string;
var
usr: IADsUser;
ws: WideString;
begin
ws := '
WinNT://' + Domain + '
/' + Username;
if ADsGetObject(PWideChar(ws), IID_IADsUser, usr) = S_OK
then Result := usr.FullName
else Result := '
Unknown';
end;
procedure TForm54.BTN_SuchenClick(Sender: TObject);
var
usr: IADSUser;
pc:
array[0..255]
of WideChar;
s:
String;
begin
Edit_Name.Text:=GetUserName(Edit_Domain.Text,Edit_Kennung.Text);
Edit_Name2.Text:=GetUserFullName(Edit_Domain.Text,Edit_Kennung.Text);
end;
Cu,
Udontknow