ID:               21504
 Updated by:       [EMAIL PROTECTED]
 Reported By:      thingol at mail dot ru
-Status:           Open
+Status:           Wont fix
 Bug Type:         Documentation problem
 Operating System: win32
 PHP Version:      Irrelevant
 New Comment:

This pecl extension is dead. If anything the documentation 
will be removed.


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

[2006-06-20 16:21:18] nightwulfe at gmail dot com

That's PHP 4.4.1, sorry.

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

[2006-06-20 16:20:32] nightwulfe at gmail dot com

I receive the following error:

Call to undefined function:  registerfunction() in
D:\web_4\wwwroot\shm.php on line 25

In CGI mode, this happens if I have a third call to registerfunction in
the script.

In ISAPI mode, this happens if the page attempts a third call (between
all page accesses) to registerfunction.

The PHP code is as follows:


<?php

function Output($text)
{
        echo str_pad($text, 4096), "\n";
        flush();
}

header('Content-Type: text/plain');

while(ob_get_level() > 0)
{
        ob_end_clean();
}
        
Output("Start");

set_time_limit(0);

Output("Register Functions");
$api = new win32();
$api->registerFunction("int Log (string sfile, string sText, string
sData, string sStack) From Support.dll");
$api->registerFunction("int Test (int nValue) From TestSupport.dll");

Output("Execute Log Statement");
Output("Result " . $api->Log("Tset", "Test", "test", "Value"));

Output("Wait 5 Seconds");
Sleep(5);
Output("Call Test");
Output($api->Test(432));
Output("Wait 5 Seconds");
Sleep(5);

Output("Exit");
?>

Additionally, the statement Output("Result " . $api->Log("Tset",
"Test", "test", "Value")); will echo 0 to the browser.  I know the
correct function is being called as  I have logging code that is being
executed.

The Output($api->Test(432)) line, however returns the correct value
(432) and displays it.  This C function just returns what is passed to
it.

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

[2003-07-17 11:55:46] iron at ironiq dot hu

The rewritten w32api extension works wrong on WinXP with PHP 4.3.2 (as
isapi dll) and IIS 5.

If I use the php as isapi dll, the unregisterfunction doesn't work. I
get an "Access Violation" if I run second time.
After restarting the IIS, the php script works first and doesn't on the
second time.

The sample:

$api  = new win32;
$api->registerfunction("long GetTickCount () From Kernel32.dll");
[...]
$api->unregisterfunction("GetTickCount");

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

[2003-05-12 14:00:14] thingol at mail dot ru

I notice that I use wrong syntax.
But:
<?php
dl("php_w32api.dll");

$api = new win32();

$api->RegisterFunction("long MessageBoxA (long hWnd, string &lpText,
string &lpCaption, long uType) From User32.dll", 0);
$str = "Test, oh my god";
$api->MessageBoxA(NULL, $str, $str, 0);
?>
with new ext shows no errors and no messagebox.

<?php
@dl("php_w32api.dll");

w32api_register_function("User32.dll", "MessageBoxA", "long");
$str = "Test, oh my god";
MessageBoxA(NULL, $str, $str, 0);
?>
with old ext shows messagebox.

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

[2003-05-12 13:44:26] thingol at mail dot ru

This documentation gives no sample.

I try this code and it don't work:
<?php
dl("php_w32api.dll");

Win32::RegisterFunction("long MessageBox (long hWnd, string lpText,
string lpCaption, long uType) From User32.dll", 0);
$str = "Test, oh my god";
echo Win32::MessageBox(NULL, $str, "Information", 0);
?>

PHP 4.3.2RC1

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

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/21504

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

Reply via email to