How to pass an array of bytes reference to a COM object method

走远了吗. 提交于 2019-11-27 07:33:39

问题


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

来源:https://stackoverflow.com/questions/42189245/how-to-pass-an-array-of-bytes-reference-to-a-com-object-method

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!