Hallo!
Ist ein wenig ins Blaue hineingeraten, aber sehr wahrscheinlich handelt es sich bei IADSUser um ein Interface. Interfaces werden ja automatisch freigegeben, sobald sie out-of-scope gehen, das heisst, sobald der Compiler in diesem Falle die lokale Variable usr freigeben will, geschieht implizit ein Aufruf der Methode _Release.
Delphi-Quellcode:
ADsGetObject('
WinNT://' + Domain + '
/' + Username, IADsUser, usr);
try
assert(usr <>
nil);
s := usr.FullName;
finally
USR:=NIL;
// <- Hier sollte der Fehler direkt auftauchen
end;
Und innerhalb dieser Release-Routine oder im Destruktor des dahinterliegenden Objektes kracht es dann wohl. Vielleicht gibt es eine explizite DeInit-Routine, die unbedingt vor Freigabe des Interfaces aufgerufen werden muss? Schau doch mal ins
MSDN, vielleicht hilft dir das weiter.
Cu,
Udontknow