ID: 33734 Updated by: [EMAIL PROTECTED] Reported By: tommy_wei at hotmail dot com -Status: Bogus +Status: Feedback Bug Type: COM related Operating System: 2000 & 2003 & XP Pro SP2 PHP Version: 5CVS-2005-07-17 (dev) New Comment:
I'd like to see the IDL for the methods you are using there, and find out why it stopped working in 5.1. The OleView tool is the best bet for this; if you don't have it, the com_print_typeinfo() function in PHP is better than nothing. Previous Comments: ------------------------------------------------------------------------ [2005-07-18 02:26:53] [EMAIL PROTECTED] Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. ------------------------------------------------------------------------ [2005-07-17 17:00:03] tommy_wei at hotmail dot com 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 ? ------------------------------------------------------------------------ [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