Bug->Req #40581 [Opn]: Pass Struct type to COM object from PHP
| From: | cmb@php.net | Date: | Sat, 08 Feb 2020 14:14:28 +0000 |
| Subject: | Bug->Req #40581 [Opn]: Pass Struct type to COM object from PHP | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-225452@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=40581&edit=1
ID: 40581
Updated by: cmb@php.net
Reported by: elvir at innvue dot com
Summary: Pass Struct type to COM object from PHP
Status: Open
-Type: Bug
+Type: Feature/Change Request
Package: COM related
Operating System: Windows Server 2003
PHP Version: 5.2.1
Block user comment: N
Private report: N
New Comment:
> how can i create a struct (c++) type in php to pass to COM.
You can't, because VT_RECORD is not yet supported by the
com_dotnet extension. Re-categorizing as feature request.
Previous Comments:
------------------------------------------------------------------------
[2007-08-16 07:40:49] pajoye@php.net
Assign to the active maintainer.
------------------------------------------------------------------------
[2007-08-15 08:36:20] jani@php.net
Assigned to the maintainer.
------------------------------------------------------------------------
[2007-02-21 17:40:09] elvir at innvue dot com
c++ codes:
typedef [uuid(5A0CB3A7-798A-42ff-B864-F8D90B55DB7C)] struct mystruct
{
LPSTR var1;
LPSTR var2;
LPSTR var3;
LPSTR var4;
} mystruct
<?php
$newCom = new COM("classname.methodname") or die (" COM exeption");
if(method_exists ($newCom, "ResetS")){
echo "method exists ...";
$newCom->ResetS(struct, GUID);
}else{
echo "method doesn't exist...";
}
?>
Question is: how can i create a struct (c++) type in php to pass to COM.
------------------------------------------------------------------------
[2007-02-21 17:29:27] elvir at innvue dot com
Description:
------------
hello,
I have a COM object created in c++. One of methods accept a struct as a parameter. I have to call
this method from PHP script.
Reproduce code:
---------------
object accepted:
typedef [uuid(5A0CB3A7-798A-42ff-B864-F8D90B55DB7C)] struct mystruct
{
LPSTR var1;
LPSTR var2;
LPSTR var3;
LPSTR var4;
} mystruct
$newCom = new COM("classname.methodname") or die (" COM exeption");
if(method_exists ($newCom, "ResetS"))
// this retun true
Expected result:
----------------
what i want is:
call my method with the following param from php:
$newCom->mymethod(mystruct sructPHP, GUID sku);
Please can you help me?
Actual result:
--------------
I tryed to create an object in PHP and call method i get the following error:
'com_exception' with message 'Error [0x80028019] Old format or invalid type library.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=40581&edit=1