ID:               26632
 Updated by:       [EMAIL PROTECTED]
 Reported By:      Regis dot Derimay at iQvolution dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         COM related
 Operating System: Windows XP Professional
 PHP Version:      5CVS
 New Comment:

Please try it without the reference flags:

try {
  $x = new Variant(0.0);
  $y = new Variant(0.0);
  $z = new Variant(0.0);
  $sphere->getPosition($x, $y, $z, false);
}
catch (exception $e) {
  print_r($e);
}

If that doesn't work, can you please be more specific
about what is going wrong (does it crash or does it
throw an exception?).

Please also include details about the "function that
did not crash before (without the use of references)".

Ideally, I want to be able to reproduce this on my
machine here so I can debug it; is the component
you are using publically available? (source preferred).


Previous Comments:
------------------------------------------------------------------------

[2003-12-16 03:57:34] Regis dot Derimay at iQvolution dot com

No I was not. Now I tested it.
It is still crashing, also in function in which it did not crash before
(without use of references)

------------------------------------------------------------------------

[2003-12-16 03:07:48] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip

Are you using the latest CVS snapshot..?

------------------------------------------------------------------------

[2003-12-16 03:04:47] Regis dot Derimay at iQvolution dot com

I forgot to say, that PHP 5 is crashing with this example.

------------------------------------------------------------------------

[2003-12-15 12:18:09] Regis dot Derimay at iQvolution dot com

Description:
------------
I call the following in PHP:
$x = new VARIANT(0.0, VT_R8 | VT_BYREF);
$y = new VARIANT(0.0, VT_R8 | VT_BYREF);
$z = new VARIANT(0.0, VT_R8 | VT_BYREF);
com_invoke($sphereIf, "getPosition", $x, $y, $z, false);

The getPosition function is defined by:
        interface IiQSphereObjIf : IDispatch
        {
                [id(1), helpstring("method getPosition")] HRESULT getPosition([out]
double* x, [out] double* y, [out] double* z, [in] VARIANT_BOOL
globalTrafo, [out, retval] int* result);
        };

I get the following error code
Warning: com_invoke(): Invoke() failed: Type mismatch. Argument: 2 in
...php

It seems to be a problem with the COM module when using functions with
paramaters by reference (like x, y and z here).
When using normal parameters everything is working well.

Expected result:
----------------
Having x y and z filed with the position.

Actual result:
--------------
I get the following error code
Warning: com_invoke(): Invoke() failed: Type mismatch. Argument: 2 in
...php




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26632&edit=1

Reply via email to