ID:               25759
 Comment by:       david at replicant dot org dot uk
 Reported By:      david dot nicholls at camden dot gov dot uk
 Status:           Open
 Bug Type:         COM related
 Operating System: Windows 2000
 PHP Version:      5CVS-2003-10-06 (dev)
 New Comment:

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.


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

[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)

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

[2003-10-07 07:42:00] david dot nicholls at camden dot gov dot uk

Should add fails silently after echoing 'Bound' to console

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

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