Einzelnen Beitrag anzeigen

Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#25

Re: Wenn of object, dann knallts!!!

  Alt 12. Nov 2009, 17:53
Moin moin,

versuche doch mal bitte, Result erst nach dem "nil setzen" zu zuweisen, also so:
Delphi-Quellcode:
function GetLDAPDomain: String;
var
  NSContainer : IADsContainer;
  Enum : IEnumVariant;
  hr : HRESULT;
  varArr : OleVariant;
  lNumElements : ULONG;
  ADsItem : IADs;
  res : String;
begin
  res := '';
  NSContainer := nil;
  Enum := nil;
  try
    if ADsGetObject( 'LDAP:', IID_IADsContainer, NSContainer) = S_OK then
    begin
      hr := ADsBuildEnumerator(NSContainer, Enum);
      while SUCCEEDED(hr) do
      begin
        hr := ADsEnumerateNext(Enum, 1, varArr, lNumElements);
        if (lNumElements<=0) then Break;
        if IDispatch(varArr).QueryInterface(IID_IADs, ADsItem) = S_OK then
          res := res + ADsItem.ADsPath + #13;
      end;
    end;
  finally
    Enum := nil;
    NSContainer := nil;
    Result := res;
  end;
end;
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat