ID:               25759
 Updated by:       [EMAIL PROTECTED]
 Reported By:      david dot nicholls at camden dot gov dot uk
-Status:           Open
+Status:           Assigned
 Bug Type:         COM related
 Operating System: Windows 2000
 PHP Version:      5CVS-2003-10-06 (dev)
-Assigned To:      
+Assigned To:      wez


Previous Comments:
------------------------------------------------------------------------

[2003-10-07 09:44:33] david at replicant dot org dot uk

Many thanks for your time.

The foreach contruct use appeals to my sensibilites much more than the
while one.

Hope the proding gets the results :) 

- i'm stuck at the momement as PHP4 wont be changed to fix to a show
stopping bug and 5 wont work yet.

------------------------------------------------------------------------

[2003-10-07 09:23:35] [EMAIL PROTECTED]

of course, I meant this:

foreach ($comUsers as $user) {
    $uClass = $user->Class;
    $uName = $user->Name;
    echo "$uName \t $uClass \n\r";
}

I'll look into the API docs for ADSI later
to sanity check my other comments also.

------------------------------------------------------------------------

[2003-10-07 09:21:29] [EMAIL PROTECTED]

One of the differences between PHP 4 COM and PHP 5 COM is that PHP
doesn't do magic for IEnumXXX interfaces, and that
is what I suspect the problem is here.

That means that the magical $obj->next() stuff won't
work, and should never have worked in the first place,
because they aren't really methods of the com object,
but of an iterator interface. (The PHP 4 COM stuff had
quite a few of these hacks).

The plan for PHP 5 is to allow this:

foreach ($comUsers as $user) {
    $uClass = $obj->Class;
    $uName = $obj->Name;
    echo "$uName \t $uClass \n\r";
}

but to implement that, I'm waiting for some
engine magic, so I'll prod the relevant
people about it.


------------------------------------------------------------------------

[2003-10-07 08:52:52] david dot nicholls at camden dot gov dot uk

Its one of the usefule errors :)

C:\Inetpub\wwwroot\ntadmin>php comtest.php
Content-type: text/html
X-Powered-By: PHP/5.0.0b2-dev

Making COM connection using ADSI
WinNT://Camden
Boundexception Object
(
    [message:protected] => Unknown exception
    [string:private] =>
    [code:protected] => 0
    [file:protected] => C:\Inetpub\wwwroot\ntadmin\comtest.php
    [line:protected] => 12
    [trace:private] => Array
        (
        )

    [message] => <b>Source:</b> Active
Directory<br/><b>Description:</b> Unspecified error

    [file] => C:\Inetpub\wwwroot\ntadmin\comtest.php
    [line] => 12
)

C:\Inetpub\wwwroot\ntadmin>


Line 12 is the 'while' line

------------------------------------------------------------------------

[2003-10-07 08:45:46] [EMAIL PROTECTED]

Put the try { } catch () stuff around the whole of your script and lets
see what's going wrong.
(Yes, PHP should at least tell you about the uncaught
exception; that appears to be another bug)

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/25759

-- 
Edit this bug report at http://bugs.php.net/?id=25759&edit=1

Reply via email to