#22768 [Fbk->Bgs]: memory could not be read error when invoking a Microsft COM object
| From: | phanto@php.net | Date: | Thu, 20 Mar 2003 10:43:19 +0000 |
| Subject: | #22768 [Fbk->Bgs]: memory could not be read error when invoking a Microsft COM object | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-36026@lists.php.net to get a copy of this message | ||
ID: 22768
Updated by: phanto@php.net
Reported By: xtian_news at hotmail dot com
-Status: Feedback
+Status: Bogus
Bug Type: COM related
Operating System: Windows 2000 Server
PHP Version: 4.3.1
New Comment:
Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments
to the existing bug instead.
Thank you for your interest in PHP.
that has been submitted a *lot* of times and is fixed for a while. com
support in 4.3.0 & 4.3.1 is broken due to the misplaced com
initialitation in these versions.
Previous Comments:
------------------------------------------------------------------------
[2003-03-18 10:24:00] magnus@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
------------------------------------------------------------------------
[2003-03-18 08:44:19] xtian_news at hotmail dot com
* I build a simple COM Object in Visual Basic 6 : its an "Active X DLL"
project.
Name of the compound : CheckYear
Name of the object : LeapYear
The only one method of the object :
============================================================
Public Function IsLeapYear(yr As Variant) As Boolean
'If year is divisible by 4 and not divisible by 100, or
'It is divisible by 400, it is a leap year
If (yr Mod 4 = 0 And yr Mod 100 <> 0) Or yr Mod 400 = 0 Then
IsLeapYear = True
Else
IsLeapYear = False
End If
End Function
============================================================
* I compile the VB6 project and obtain : Leapyear.dll
* I register this COM object in my windows 2000 server : regsvr32.exe
Leapyear.dll
* I write the following php script : try.php
=========================================================
<pre>
<?php
print "Hi\n";
$exapp = new COM("CheckYear.LeapYear");
?>
</pre>
==========================================================
* I execute :
php -f try.php
* I obtain
<pre>
Hi
</pre>
And a Windows error popup appears :
==========================================================
php.exe - application error
The instruction at "0x10030729" referenced memory at "0x110022ec". The
memory could not be "read".
==========================================================
Do you know the reason of this error and how to correct it ?
Thanks,
Christian
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22768&edit=1