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:

Sorry, this report slipped through the cracks.

I did however add automatic support for byref

parameters, so the code below *should* work

(no need to explicitly create variant objects

for $x, $y, $z).



Please let me know how you get on; try a recent PHP 5

snapshot (code was added a little while ago; beta 4

should work).



iQlib = new COM("iQvolution.iQLibIf");

$iQlib->load("c:\\A.iQmod");

$numScans = $iQlib->getNumScans();

for($i = 0; $i < $numScans; $i++) {

   $objIf = $iQlib->getScanObject($i);

   $scanIf = $objIf->getScanObjSpecificIf();

   $scanIf->getPosition($x, $y, $z, false);

}






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

[2004-02-21 03:33:16] Regis dot Derimay at iQvolution dot com

Is someone working on this very anoying bug? Did not here anything
since a while!



Thanks

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

[2003-12-22 06:50:17] Regis dot Derimay at iQvolution dot com

Here the easiest script I got:

DLLs and needed instrcutions were sent by email the 16th dec. at 11:58
European time. (Subject DLLs for Bug #26632)

Hope this help. Would be nice to see this bug solved!



<?php

try {

    $iQlib = new COM("iQvolution.iQLibIf");



    $iQlib->load("c:\\A.iQmod");



        $numScans = $iQlib->getNumScans();

        echo "Nb of scans:{$numScans}<BR>\r\n";



        for($i = 0; $i < $numScans; $i++)

        {

                $objIf = $iQlib->getScanObject($i);

                $scanName = $objIf->getName();

                echo "&nbsp;&nbsp;Scan {$i}:&nsp;{$scanName}<BR>\r\n";



                $x = VARIANT(0.0, VT_R8 | VT_BYREF);

                $y = VARIANT(0.0, VT_R8 | VT_BYREF);

                $z = VARIANT(0.0, VT_R8 | VT_BYREF);

                $scanIf = $objIf->getScanObjSpecificIf();

                $scanIf->getPosition($x, $y, $z, false);

        }



//    $iQlib->Release();

    $iQlib = null;

}

catch (exception $e)

{

        echo "<PRE>";

        print_r($e);

        echo "</PRE>";

}

?>

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

[2003-12-16 05:39:31] [EMAIL PROTECTED]

Please send the dll to [EMAIL PROTECTED] along with appropriate installation
instructions and the smallest reproducing script.

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

[2003-12-16 05:36:55] Regis dot Derimay at iQvolution dot com

Hi.



try and catch does not work. It still crash.

I will now try to reduce the source as much as possible to a few lines
of codes so you can reproduce it.

The source code of our module is not available but I could send you the
needed dll, so you can test it. To which email should I send the dlls?

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

[2003-12-16 04:36:12] [EMAIL PROTECTED]

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).

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/26632

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

Reply via email to