Bug #40581 [Asn->Opn]: Pass Struct type to COM object from PHP

From: Date: Tue, 24 Oct 2017 03:32:27 +0000
Subject: Bug #40581 [Asn->Opn]: Pass Struct type to COM object from PHP
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-211903@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:         kalle@php.net
 Reported by:        elvir at innvue dot com
 Summary:            Pass Struct type to COM object from PHP
-Status:             Assigned
+Status:             Open
 Type:               Bug
 Package:            COM related
 Operating System:   Windows Server 2003
 PHP Version:        5.2.1
-Assigned To:        wharmby
+Assigned To:        
 Block user comment: N
 Private report:     N



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


Thread (7 messages)

« previous php.bugs (#211903) next »