Bug->Doc #50305 [Asn]: DOTNET Warning
| From: | cmb@php.net | Date: | Tue, 16 Jun 2020 16:52:52 +0000 |
| Subject: | Bug->Doc #50305 [Asn]: DOTNET Warning | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-17651@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=50305&edit=1
ID: 50305
Updated by: cmb@php.net
Reported by: noon at ms8 dot url dot com dot tw
Summary: DOTNET Warning
Status: Assigned
-Type: Bug
+Type: Documentation Problem
Package: COM related
Operating System: Windows Vista
PHP Version: 5.3.1
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Doesn't make sense to wait for a magic fix â changing to doc
issue.
Previous Comments:
------------------------------------------------------------------------
[2020-02-07 10:48:13] cmb@php.net
That COM object is supposed to implement IDispatch, but apparently
it does not; converting it to a PHP Variant (like in the attached
patch accept-LPUNKNOWN) would not solve the problem (while it
makes the OP's test script work, it still leaves a practically
unusable Controls object, because it only postpones the problem).
------------------------------------------------------------------------
[2013-10-18 02:41:42] eric at pby dot com
I'm not proficient enough in C to even compile PHP. Until this bug is fixed in a stable
release, is it possible to define a PHP class that mirrors the COM class and cast the object into
that class so that I can access its functions and properties?
------------------------------------------------------------------------
[2013-02-20 14:39:18] user at kkdf2 dot sakura dot ne dot jp
I've posted a patch.
I'm not sure whether it works well or not.
------------------------------------------------------------------------
[2011-01-14 08:40:11] kalle@php.net
This means that the variant conversion (as the error says) failed, 0xD is the variant type value of
the object being converted. 0xD evaluates to 13 which is VT_UNKNOWN, an object that implements the
IUnknown interface.
I however doubt theres anyone who will look at fixing this anytime soon as COM/dotnet needs an
active maintainer
------------------------------------------------------------------------
[2011-01-13 12:51:02] t33th4n at gmail dot com
Description:
------------
Error is valid.
Trying to create a dialog with .NET, but basic functions are failing to proceed.
Reproduce code:
---------------
$form1 = new DOTNET("System.Windows.Forms, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089", 'System.Windows.Forms.Form');
$button1 = new DOTNET("System.Windows.Forms, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089", 'System.Windows.Forms.Button');
$button1->Text = "Press me!";
$form1->Controls->Add($button1);
$form1->Show();
Expected result:
----------------
Add a button control to the form.
Actual result:
--------------
Warning: main(): variant->zval: conversion from 0xd ret=-1 in D:\xampplite\php\form1.php on line
10
PHP Fatal error: Call to a member function Add() on a non-object in D:\xampplite\php\form1.php on
line 10
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=50305
--
Edit this bug report at https://bugs.php.net/bug.php?id=50305&edit=1