problem usign COM object
am 19.07.2007 22:26:51 von Jason McKnightI am using a COM object from one of our system venders and I am having
problems using an in/out variable for one function on php 4.3.11. I can
load the COM interface, return the typeinfo and even call the function
successfully but I can't get a return value set for the variable. Here is
the code I am using:
$sessionid = (int) "";
$C1COM = com_load("ConceptCOM");
$val1 = $C1COM->OpenSession($sessionid);
echo "val1: "; print_r($val1); echo "
";
echo "session: "; print_r($sessionid); echo "
";
This prints:
val1: 1
session: 0
If I do the same thing using php 5 (just replace 'com_load' with 'new COM'),
I get the expected result with a valid sessionid. Here is the typeinfo for
the function:
/* DISPID=10 */
/* VT_I4 [3] */
function opensession(
/* VT_PTR [26] [in][out] --> VT_I4 [3] */ &$sessionid
)
{
}
I've tried different type casts, passing a variant, and different ways of
calling the method; is there anything that I need to do to handle a VT_PTR
type or a variable defined as in and out? Other then updating to php 5, can
php 4 handle setting a method parameter within a COM object? The vender is
willing to make some updates if needed but I don't want to have to do a
major rewrite.
Thanks!
--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php