Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Neue Attribute mit LDAP hinzufügen

  Alt 12. Aug 2007, 13:14
Hallo zusammen,

ich habe mir die beiden Units für LDAP von CodeCentral (die Ihr auch im Anhang findet) heruntergeladen. Die Verbindung und das auslesen zum LDAP-Server funktioniert wunderbar. Aber irgendwie bin ich zu blöd einem Object ein neues Attribute hinzuzufügen oder es zu modifizieren.

Mein bissheriger Versuch sieht so aus :
Delphi-Quellcode:
procedure TForm6.Button1Click(Sender: TObject);
var
  ldapconnected : LdapConnection;
  Entries: LdapEntryList;
  ldapAttr: LdapEntry;
  Attributes : LdapAttribute;
  newAttr: LdapEntry;
begin
  ldapconnected := LdapConnection.Create;
  ldapconnected.Open('server.domain.de','cn=user,ou=container,o=container', 'password', 389);
  Entries := LdapEntryList.Create;
  ldapAttr := LdapEntry.Create;
  ldapconnected.Search(Entries, 'ou=container,o=container'); // In der NDS suchen ab einem bestimmten Containers

  Label1.Caption := Entries.GetDN(11); // Abrufen des Full Calified Name

  ldapAttr := Entries.GetEntry(11); // Auslesen der Attribute von dem Object

  ldapAttr.Add('l', 'Stuttgart'); // Dieser Wert soll hinzugefügt werden.
  ldapconnected.Add(Entries.Entry[9]);

  Label2.Caption := Entries.EntryValue[11, 'givenName', 0]; // Einzelne Attribute auslesen
  Label3.Caption := Entries.EntryValue[11, 'fullName', 0]; // Einzelne Attribute auslesen
  Label4.Caption := Entries.EntryValue[11, 'l', 0]; // Einzelne Attribute auslesen

  Memo3.Lines.Text := ldapAttr.AsLDIF; // Eine LDIF - Ausgabe vom NDS-Object erstellen
  Memo2.Lines := ldapAttr.NameList; // Anzeigen der dazugehörigen Attribute
  Memo1.Lines.Text := Entries.Text; // Anzeigen des Suchergebniss

  ldapAttr.Free; // ldapEntry wieder freigeben
  Entries.Free; // ldapEntryList wieder freigeben
  ldapconnected.Close; // LDAP - Verbindung schliessen
  ldapconnected.Free; // LDAPConnection wieder freigeben
end;
Nur jedesmal bekomme ich eine EAccessViolation auf die Datei wldap32.dll. Nur weiß ich nicht warum. Könntet Ihr mit da weiterhelfen ?
Angehängte Dateien
Dateityp: pas linldap_379.pas (18,5 KB, 9x aufgerufen)
Dateityp: pas uldap_103.pas (23,4 KB, 10x aufgerufen)
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat