#32038 [Opn->WFx]: com_print_typeinfo returning duplicate entries
| From: | wez@php.net | Date: | Mon, 18 Apr 2005 16:41:16 +0000 |
| Subject: | #32038 [Opn->WFx]: com_print_typeinfo returning duplicate entries | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-77803@lists.php.net to get a copy of this message | ||
ID: 32038
Updated by: wez@php.net
Reported By: csaba at alum dot mit dot edu
-Status: Open
+Status: Wont fix
Bug Type: COM related
Operating System: Win XP Pro
PHP Version: 5CVS-2005-02-20
New Comment:
that function is mainly a debugging aid; all it does is walk through
the list of available items in the type info.
The "duplicates" are present because the type info stores one record
for get and another for set when dealing with properties.
While this function could be made smarter, I don't plan to do so; it
just doesn't need to be made that complicated.
Previous Comments:
------------------------------------------------------------------------
[2005-02-20 22:45:25] csaba at alum dot mit dot edu
Description:
------------
com_print_typeinfo is often showing duplicate entries for many of the
properties of various COM objects, for example: IWebBrowser2
Reproduce code:
---------------
<?php
$oShell = new COM("Shell.Application");
$oWins = $oShell->Windows();
foreach ($oWins as $oWin) {
com_print_typeinfo($oWin,"IWebBrowser2");
break; }
?>
Expected result:
----------------
I expect each property to be listed exactly once
Actual result:
--------------
Here's part of the printout:
/* DISPID=555 */
/* VT_BOOL [11] */
/* Controls whether address bar is shown */
var $AddressBar;
/* DISPID=555 */
/* Controls whether address bar is shown */
var $AddressBar;
/* DISPID=556 */
/* VT_BOOL [11] */
/* Controls whether the window is resizable */
var $Resizable;
/* DISPID=556 */
/* Controls whether the window is resizable */
var $Resizable;
As you can see, both properties are shown twice. The first of the two
showings always shows the variant type (e.g. VT_BOOL [11]) whereas the
second does not. It seems superfluous to have these shown twice
(especially since the printouts are so voluminous and the second is a
subset of the first). I have not seen this happen with Methods.
Csaba Gabor from Vienna
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32038&edit=1