ID: 37274 Comment by: dtyschenko at soft-ukraine dot com Reported By: tp at synolon dot gr Status: Open Bug Type: COM related Operating System: Windows XP Pro PHP Version: 5.1.3 New Comment:
$this->kbmDetail->Field[ fieldname ]->Value = $fieldvalue; Is it okay, that you type filedname without '$' ??? Previous Comments: ------------------------------------------------------------------------ [2006-05-02 09:59:52] tp at synolon dot gr Description: ------------ This seems to be related with bug #28161 that, as I read, was fixed since version 5.0. I want to access an array style COM property that is actually an object and then get or set a property of that object. I get a COM exception when I do that followed by apache crash. I have tried all binary PHP distributions for Windows that I found from 5.1.2 to 5.1.3 (cvs also) and did not work. My PHP setup is the typical one described in 'install.txt' of the PHP package. The only change that I have made in php.ini (except of the doc_root) is 'com.allow_dcom = true'. I use Apache 1.3.27. Please help! Reproduce code: --------------- public function setField( $fieldname , $fieldvalue , $masterobj = true ) { // kbm & kbmDetail are class member variables // that were previously instanciated like this: // $this->kbm = new COM( "SasClient.kbm" ); // The kbm object has an array style property // 'Field' that returns an object. We want to // set the 'Value' property. // In VB this code looks like this: // kbm.Field( fieldname ).Value = fieldvalue try { if( $masterobj ) $this->kbm->Field[ $fieldname ]->Value = $fieldvalue; else $this->kbmDetail->Field[ fieldname ]->Value = $fieldvalue; } catch( com_exception $e ) { print( $e->__toString( ) ); } } Expected result: ---------------- The property should be set Actual result: -------------- exception 'com_exception' with message 'Error [0x8002000e] Invalid number of parameters. ' in c:\data\www\senapi\CSen.php:259 Stack trace: #0 c:\data\www\senapi\CSen.php(259): CSen::setField() #1 c:\data\www\senapi\sentest.php(206): CSen->setField('docid', -1001) #2 {main}docid = -1001 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=37274&edit=1