ID:               29973
 Updated by:       [EMAIL PROTECTED]
 Reported By:      tetikr at spytech dot cz
-Status:           Open
+Status:           Assigned
 Bug Type:         COM related
 Operating System: Win2000
 PHP Version:      5.0.1
-Assigned To:      
+Assigned To:      wez
 New Comment:

in this case you should be doing:

try {
  $a = new COM(...);
  // use it here
} catch (exception $e) {
  // failed to create it
}

in other cases, where you have been passed the object, use is_object()
to check if it is valid.

I'll see if I can fix the shorthand "if (!$a)" syntax someone in the
next month.



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

[2004-09-06 14:27:03] tetikr at spytech dot cz

Some objects work and some not. The following code creates an object
that works not. It throws a COM exception "Member not found". Test it
for yourself, I hope it will fail :-)
---------------------------------
$o = new COM("WScript.Shell");
if (!$o) 
  /* dummy */ ;
else 
  echo $o->CurrentDirectory;
---------------------------------

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

[2004-09-06 08:06:19] [EMAIL PROTECTED]

What is the full error message?

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

[2004-09-03 19:08:58] tetikr at spytech dot cz

Description:
------------
Comparing COM object variable with NULL throws an exception

Reproduce code:
---------------
$a = new COM(.....);

if (!$a)
{
   ......
}
else
{
   .....
}

Expected result:
----------------
If $a is non null, I expect the ELSE block to be performed. 

Actual result:
--------------
PHP throws an exception when trying to evaluate !$a. I think it tries
to access the default COM object's property. 

If this is a valid behavior, how should I test for null?


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


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

Reply via email to