Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-09-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Error «illegal line ""» en extensión DLL que accede a Firebird

¡Buen día a todos!

Este mensaje es parte de una investigación que estoy realizando para detectar la causa y solución de una anomalía surgida entre PHP 4 y una extensión DLL para PHP creada con Delphi 7.

Uso una biblioteca de componentes llamada PHPDelphi que facilita la creación de extensiones Win32 para PHP usando Delphi (tomar en cuenta que PHP no importa de forma directa las funciones de una DLL, como lo hace normalmente cualquier módulo ejecutable).

Cree una extensión DLL Win32 para PHP. Hago que PHP.exe la cargue en memoria, asignándole una entrada en PHP.ini (extension=MiDLL.dll). Inicialmente probé su funcionalidad con rutinas que hacen operaciones sencillas, llamadas desde programas .php, y las páginas Web resultantes se mostraron correctamente en el navegador.

Pero luego agregué a la extensión DLL una función que accede a una base de datos Firebird y ahí se presentó el problema. Para facilitar su depuración desde Delphi, hago llamar a dicha función en el código de inicialización de la DLL.

Ahora la DLL está programada para, al cargarse en memoria, acceder a una base de datos Firebird y realizar ciertas tareas con ella. Esto fue implementado con componentes IBX (TIBDataBase, etc.). Si yo creo una aplicación de prueba que cargue mi DLL, todo se ejecuta como se espera.

Pero si es PHP.exe el que carga la DLL (habiéndolo establecido en PHP.ini), entonces cuando el componente TIBDataBase intenta abrir la conexión (MiIBDataBase.Open) aparece una ventana de error (cuyo remitente pudiera ser el programa cliente o el programa servidor de Firebird) con el mensaje:

Cita:
C:\Archivos de programa\Firebird\Firebird_1_5\firebird.conf: illegal line ""
Busqué en la Red información al respecto pero sólo encontré un puñado de mensajes sin solución sobre problemas que arrojaban el mismo mensaje de error.

¿Cómo carga PHP.exe una DLL para que afecte de esa manera el comportamiento de Firebird?

Les agradezco de antemano cualquier información que pueda serme útil en esta investigación.

Un abrazo Web.

Al González.
Responder Con Cita
  #2  
Antiguo 09-09-2005
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
Lightbulb ¿Duda?

Probaste con dbexpress?????? he tratado de trabajar con intraweb i los componentes IBX y no funcionan, DBExpress si, talvez te ocurra lo mismo, si te funcina nos avisas....

saludos y suerte.
__________________
^_^

http://stna.cl
Responder Con Cita
  #3  
Antiguo 19-09-2005
fduron fduron is offline
Registrado
 
Registrado: sep 2005
Posts: 1
Poder: 0
fduron Va por buen camino
Investigacion

He estado bajo investigacion respecto a este tema, hice algunas pruebas con la biblioteca que usa Al Gonzalez, probe llamando la extensión de PHP desde una aplicacion y funciona correctamente, desde una pagina PHP no respondio, me informaba que la base de datos no estaba disponible "Database no available", al final agregue la direccion IP a la ruta de la base de datos y ahora funciona a la perfeccion, no pude agregar codigo en la seccion initialization, o mejor dicho, no se ejecuta, yo creo que se debe a que los objetos IBDataBase e IBQuery que uso en mi investigacion no se han creado al momento de lanzar el initialization
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:52:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi