Bug #43521 [Fbk->NoF]: Problem with Variant/Parameters
Edit report at https://bugs.php.net/bug.php?id=43521&edit=1
ID: 43521
Updated by: php-bugs@lists.php.net
Reported by: oespeter at gravityshock dot biz
Summary: Problem with Variant/Parameters
-Status: Feedback
+Status: No Feedback
Type: Bug
Package: COM related
Operating System: Win2k; Win2003 Server
PHP Version: 5.2.5
Assigned To: cmb
Private report: N
New Comment:
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
Previous Comments:
------------------------------------------------------------------------
[2021-04-06 11:24:15] cmb@php.net
mktime() returns an integer (32bit on x86), and so the conversion
to VT_R8 might fail, or maybe ArcValue() doesn't accept a VT_R8.
But anyhow, there may not be the need to pass a variant; wouldn't
it work if you pass the return value of mktime() directly?
------------------------------------------------------------------------
[2007-12-06 16:25:19] oespeter at gravityshock dot biz
Description:
------------
Hi, I have problems fetching data from an special database over a com-based sdk. With VisualBasic
it's not a problem, but the same code doesn't work with php. Some folks (lists/forums)
said it may be an bug in the COM-Extension of PHP.
The error occurs with a COM based SDK (called PI-SDK from OsiSoft Inc.). I can work via COM with all
functions that need no parameters. But most of the functions that need params didn't work with
php. With VisualBasic it works without problems. I testet with PHP 5.2.2/3/4/5 (snaps and zend.com),
5.3.0-dev(snap from today).
Reproduce code:
---------------
Because of comercial licence ist not reproducible for the comunity :-/
//Following works fine:
$comObjPi = new COM('PISDK.PISDK');
$server = $comObjPi->Servers->Item("123.123.123.123");
$server->Open("123.123.123.123;UID=foo;pwd=bar");
$point = $server->PIPoints("SINUSOID");
echo "\n Last value: ".$point->Data->SnapShot()->Value."\n";
echo "\n Last Timestamp: ".$point->Data->SnapShot()->TimeStamp."\n";
com_load_typelib('PISDK.PISDK');
//the following throws exceptions:
try{
$value = $point->Data->ArcValue(new Variant(mktime(), VT_R8), rtBefore);
echo "\n Value before now (last value):
".$point->Data->SnapShot()->Value."\n";
} catch(Exception $e){
print("\nException ".$e->getMessage()."
TraceString:".$e->getTraceAsString());
}
Expected result:
----------------
Last value: 47.11
Last Timestamp: 123456789
Value before now (last value): 47.11
Actual result:
--------------
Last value: 47.11
Last Timestamp: 123456789
Exception Parameter 0: Typkonflikt. //Type-Mismatch in the english
version
TraceString: #0 C:\php_pi\pitest.php(10): variant->ArcValue(Object(variant), 6)
#1 {main}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=43521&edit=1
Thread (3 messages)