ID: 28161 User updated by: spymail at 21cn dot com Reported By: spymail at 21cn dot com -Status: Feedback +Status: Closed Bug Type: COM related Operating System: Windows 2000 AS PHP Version: 5.0.0RC2 New Comment:
Thanks,wez, Well done. It works pretty well in the latest CVS win32 bulid (Apr 29 2004 04:12:53). Previous Comments: ------------------------------------------------------------------------ [2004-04-28 10:26:14] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip I've just committed a fix for this; please try the next snapshot dated after this comment and let me know how you get on. See the commit message here: http://news.php.net/article.php?group=php.cvs&article=27208 ------------------------------------------------------------------------ [2004-04-27 04:35:21] spymail at 21cn dot com Oh yes, I tried RC2 today, same output. and here is the IDL: [id(0x000007), propget, helpstring ("property Attribute")] HRESULT Attribute([in] BSTR bstrName, [out, retval] BSTR* pVal); [id(0x000007), propput, helpstring ("property Attribute")] HRESULT Attribute([in] BSTR bstrName, [in] BSTR pVal); ------------------------------------------------------------------------ [2004-04-26 19:03:43] [EMAIL PROTECTED] Did you try RC2 ? Can you please paste the IDL for the COM object here, as I don't have that COM object to test against. ------------------------------------------------------------------------ [2004-04-26 18:00:47] spymail at 21cn dot com Description: ------------ The COM runs well in ASP: <%asp 'The Attribute property specifies and retrieves name-value pairs. ' 'Syntax: ' 'Header.Attribute(bstrName) = String 'String = Header.Attribute(bstrName) ' 'Parameters: bstrName [in] ,String containing the attribute name. ' 'Attribute names are case-sensitive, and both the name and value must be specified in a valid 'XML format. If you duplicate an existing attribute, the earlier attribute is updated. Dim rid rid = "0" Set headobj = Server.CreateObject("Wmrmobjs.WMRMHeader") headObj.Attribute("RID") = rid %> But when I convert it to PHP,there's a fatal error. Reproduce code: --------------- <?php $rid=0; $headObj = new COM("Wmrmobjs.WMRMHeader"); $headObj->Attribute["RID"] = $rid; ?> Expected result: ---------------- The Attribute should be set. Actual result: -------------- There's a Error: Fatal error: Uncaught exception 'com_exception' with message 'Error Invalid number of arguments' in D:\server\abc.php:3 Stack trace: #0 {main} thrown in D:\server\abc.php on line 3 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28161&edit=1