Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2005, 10:28
edgarparra
 
Fecha de Ingreso: agosto-2005
Ubicación: Colombia
Mensajes: 1
Antigüedad: 18 años, 7 meses
Puntos: 0
Incluir una Dll ActiveX en un script php

Debo comonunicarme a través del puerto serie por interface RS232 con un dispositivo controlador de movimiento, creé en Visual Basic 6 una DLL ActiveX utilizando el componente Microsoft Comm Control 6.0 (MSComm) que proporciona comunicaciones serie para que una aplicación pueda transmitir y recibir datos a través de un puerto serie. Esta DLL me funciona perfectamente cuando la instancio desde una aplicacion desarrollada en Visual Basic o en Visual C, pero la idea es usarla como objeto en un script php.

nombre de la dll: mlci.dll
nombre de la clase: MicroLynxCI
una de sus propiedades: Puerto

Registré la dll usando la siguiente línea de commando (Windows)
regsvr32 C:\AppServ\php\extensions\mlci.dll

Un cuadro de mensaje me indicó lo siguiente:
DllRegisterServer en C:\AppServ\php\extensions\mlci.dll se realizó con éxito

Escribí el siguiente script para instanciar la clase que creé:

Código PHP:
<?php
$obj 
= new COM(mlci.MicroLynxCI);
$obj->Puerto 3;
echo 
$obj->Puerto "<BR>";
?>
el script demora unos segundos cargango pero no se ejecuta, por el contrario windows me saca el siguiente mensaje de error:

Apache.exe ha detectado un problema y debe cerrarse
szAppName : Apache.exe szAppVer : 0.0.0.0 szModName : php4ts.dll
szModVer : 4.3.11.11 offset : 000b90a8

Estoy utilizando el appserv ver 2.4.4a
PHP 4.3.11
Apache 1.3.33
MySQL 4.0.24
phpMyAdmin 2.5.7-pl1

Puse la dll en la carpeta "C:\AppServ\php\extensions\", luego modifiqué la sección "Windows Extensions" del archivo php.ini adicionando la línea "extension=mlci.dll" pero esto tampoco me funcionó.

No se si este tipo de objetos (Dll ActiveX) se instancian de la manera que lo estoy haciendo o si definitivamente no es posible instanciarlos en php.

Les agradezco cualquier alternativa de solución, espero haberme explicado con suficiente claridad.