Bug #11658 Updated: Getting values by reference don't work
| From: | phanto@php.net | Date: | Sun, 01 Jul 2001 21:25:28 +0000 |
| Subject: | Bug #11658 Updated: Getting values by reference don't work | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-58635@lists.php.net to get a copy of this message | ||
ID: 11658
Updated by: phanto
Reported By: andrej.aschenbrenner@face.de
Status: Open
Bug Type: COM related
Operating system:
PHP Version: 4.0.6
Assigned To:
Comments:
type mismatch means, that your com object expects another type. as you see the error message is
german so the error doesn't happen in php but in the com-marshaller. you have to check what
type your object expects and change the VT_I4 to the corresponding value.
if you can provide me an other example so that i can reproduce this on my machine i could help you
more detailed
Previous Comments:
---------------------------------------------------------------------------
[2001-06-28 03:12:59] andrej.aschenbrenner@face.de
still closed?
---------------------------------------------------------------------------
[2001-06-27 04:16:21] andrej.aschenbrenner@face.de
It didn't work!
I get this:
Warning: Invoke() failed: Typ paßt nicht.
in D:wwwwebzeapplicationindex.php on line 10
translated: ...: Type mismatch.
Line 10 looks like this:
$instance->CheckLogin($user, COM_REMOTE_SERVER, $allowed);
I have tried all of the combinations I could think of,
VT_UI1|BYREF, VT_UI2|BYREF, VT_UI4|BYREF, VT_I1|BYREF,
VT_I2|BYREF, VT_I4|BYREF, VT_INT|BYREF, VT_UINT|BYREF
It doesn't matter. I get always the same type mismatch warning.
Note that the variable $allowed in the function of the
COM-Object is defined as "long".
Please help me to get this working.
---------------------------------------------------------------------------
[2001-06-26 10:19:19] phanto@php.net
closed
---------------------------------------------------------------------------
[2001-06-26 10:19:03] phanto@php.net
$user = "test_user";
$allowed = new VARIANT(8, VT_I4|VT_BYREF);
$instance = new COM("dll.CObject") or die("Unable to
instanciate dll.CObject");
$instance->CheckLogin($user, COM_REMOTE_SERVER, $allowed);
echo $allowed->value;
/* you can use $allowed->type to check it against
* VT_* constants
* look into the php documentation for more flags
* passing variables by reference is a deprecated
* zend feature (i don't know why) and it didn't work
* in every case in earlier versions.
*/
---------------------------------------------------------------------------
[2001-06-26 07:00:49] sniper@php.net
The #11660 was already bogused. Reopened this one.
---------------------------------------------------------------------------
The remainder of the comments for this report are too long.
To view the rest of the comments, please
view the bug report online.
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=11658&edit=2