ID: 33734 User updated by: tommy_wei at hotmail dot com Reported By: tommy_wei at hotmail dot com -Status: Bogus +Status: Open Bug Type: COM related Operating System: 2000 & 2003 & XP Pro SP2 PHP Version: 5CVS-2005-07-17 (dev) New Comment:
Ok you are right... You said -> The long answer is that atm we cannot support the ()= syntax and offer the []= as an alternative But why this code doesn't work with PHP 5.1.0b3 & The lastest CVS 5.1.0Dev...it works for PHP 5.0.4 <?php try{ $com=new COM("Automation_Users");//My Company ActiveX $index=$com->IndexOf($user); $target=$com->Items[$index];//return user object $target->Password="password"; $com->Items[$index]=$target;//to update user's information unset($com); }catch(Exception $exp){ echo $exp->getMessage(); } ?> At line >> $target=$com->Items[$index]; Error is >> [0x8002000e] Invalid number of parameters. Any idea ? Previous Comments: ------------------------------------------------------------------------ [2005-07-17 14:53:34] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php The short answer is PHP is different from ASP. The long answer is that atm we cannot support the ()= syntax and offer the []= as an alternative. ------------------------------------------------------------------------ [2005-07-17 14:20:37] tommy_wei at hotmail dot com Description: ------------ I found something strange with COM Object but I'm not sure. My System - Windows 2000-2003 Server & XP Pro sp2 - IIS ISAPI - PHP 5.0.4 & 5.1.0b3 & 5.1.0Dev-200507170630 My code... <?php try{ $com=new COM("Automation_Users");//My Company ActiveX $index=$com->IndexOf($user); $target=$com->Items($index);//return user object $target->Password="password"; $com->Items($index)=$target;//to update user's information unset($com); }catch(Exception $exp){ echo $exp->getMessage(); } ?> The problem is at the line -> $com->Items($index)=$target; - PHP 5.0.4 $com->Items($index)=$target; Error -> Fatal error: Can't use method return value in write context in D:\Project\PHP\Project\functions.php on line 580 I don't know why because this works fine with ASP I changed the code to... $com->Items[$index]=$target; It works ! I don't understand why it works ? I never used [] to pass parameter with any COM object. - PHP 5.1.0b3 & 5.1.0Dev doesn't work any way both ($index) [$index] $com->Items($index)=$target; Error -> Fatal error: Can't use method return value in write context in D:\Project\PHP\Project\functions.php on line 580 $com->Items[$index]=$target; Error -> [0x8002000e] Invalid number of parameters. This made me confuse -"- --------------------------------------- I'm not sure this is a bug of my company's activeX or PHP If you need more information please tell me. Thank you. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33734&edit=1