Thema: Delphi ADS - Fullname

Einzelnen Beitrag anzeigen

Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#5

Re: ADS - Fullname

  Alt 26. Jan 2007, 17:16
Hallo nochmals,

habe mir mal die Mühe gemacht, dasselbe ohne diese Wrapper-Dateien zu machen. Du musst zuerst aber die TLB-Datei erzeugen:
Menü\Komponente Importieren\Typbibliothek importieren, anschliessend "Active DS Type Library" auswählen. Zweimal weiter klicken und Fertig stellen, anschliessen wird eine Unit mit Namen ActiveDS_TLB angelegt, diese solltest du dann in einem neuen Projekt in die uses-Klausel mitaufnehmen.

Die ADSGetObject-Routine habe ich einfach statisch ins Hauptformular eingebunden:
function ADsGetObject(pwcPathName: PWideChar; const xRIID: TGUID; var pVoid): HResult; stdcall; external 'activeds.dll'; Das ist der Code, den ich für eine Namensauflösung dann einsetze:
Delphi-Quellcode:
var
  usr: IADSUser;
  pc:array[0..255] of WideChar;
  s:String;
begin
  s:='WinNT://'+Edit_Domain.Text+'/'+Edit_Kennung.Text;
  StringToWideChar(S,PC,Length(S)+1);

  ADsGetObject(pc, IADsUser, usr);
  if not Assigned(usr) then
    Edit_Name.Text := 'Unknown'
  else
    Edit_Name.Text := usr.FullName;
end;
Bei mir klappts. Allerdings habe ich ganz schöne Schwierigkeiten, von normalen Strings in PWideChar umzuwandeln...

Cu,
Udontknow
  Mit Zitat antworten Zitat