How to pass an array of bytes reference to a COM o

2019-01-20 06:20发布

问题:

In PHP, I want to pass an array of bytes reference to a COM object method whose syntax in VB is:

object.VBObjectMethod(ByRef aRawData() As Byte)

where parameter aRawData is an array of bytes that specifies a data object.

In PHP I am initialising the COM class and calling VBObjectMethod as follows:

$theObject = new COM("VBObject.Class") or die ("Could not initialise VBObjectClass");

Up to this bit things are OK but I have no idea how to do the following correctly:

$theObject->VBObjectMethod("How do I pass a reference to a byte array here?");

I have a $byteArray I am passing to VBObjectMethod in PHP as follows;

$theObject->VBObjectMethod($byteArray);

But then I get the following Fatal error message:

Fatal error: Uncaught exception 'com_exception' with message 'Source: VBObject.Class
Description: Bad variable type.' in C:\xampp\htdocs\waterCompany\reservoir.php:3 Stack trace #0 C:\xampp\htdocs\waterCompany\reservoir.php(3): com->VBObjectMethod(Array)#1 {main} thrown in C:\xampp\htdocs\waterCompany\reservoir.php on line 3C:\xampp\htdocs\waterCompany\reservoir.php on line 3