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