Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Delphi For PHP (https://www.clubdelphi.com/foros/showthread.php?t=42526)

pepealonso 16-04-2007 21:14:00

Delphi For PHP
 
Hola a todos

Llevaba algun tiempo queriendo meterle mano a PHP, pero no encontraba ni el teimpo ni el entorno de desarrollo adecuado para comenzar. En estas estaba cuando me enteré de la salida del Delphi for PHP y me dije que esta era la mia para abordar este nuevo (para mí) lenguaje. Me he comprado una licencia de educación por el "modico" precio de 99 euros y me las prometía muy felices, cuando he recordado que la fortuna del pobre nunca puede ser completa, así que aquí me teneis solicitando vuestra docta ayuda para ver si puedo salir del trance en el que me encuentro. :)

Resulta que tengo un formulario con varios controles y un datamodule con una TDAtaBase y un TQuery. Si todo esto lo ejecuto desde el IDE (con F9) me funciona mas o menos bien. En cambio, si lo ejecuto desde el navegador, me dá este error:

Código PHP:



Warning
unserialize() expects parameter 1 to be string, array given in C:\Xampp\xampp\htdocs\SIP\vcl\dbtables.inc.php on line 1017 Application raised an exception class EDatabaseError with message 'Cannot connect to database server' Callstack #0 File: C:\Xampp\xampp\htdocs\SIP\Acceso.php Line: 4 |_Callstack #1 File: C:\Xampp\xampp\htdocs\SIP\UDMMain.php Line: 44 |_Callstack #2 File: C:\Xampp\xampp\htdocs\SIP\vcl\classes.inc.php Line: 1213 |_Callstack #3 File: C:\Xampp\xampp\htdocs\SIP\vcl\classes.inc.php Line: 1243 |_Callstack #4 File: C:\Xampp\xampp\htdocs\SIP\vcl\classes.inc.php Line: 489 |_Callstack #5 File: C:\Xampp\xampp\htdocs\SIP\vcl\classes.inc.php Line: 415 |_Callstack #6 File: C:\Xampp\xampp\htdocs\SIP\vcl\classes.inc.php Line: 846 |_Callstack #7 File: C:\Xampp\xampp\htdocs\SIP\vcl\db.inc.php Line: 179 |_Callstack #8 File: C:\Xampp\xampp\htdocs\SIP\vcl\system.inc.php Line: 190 |_Callstack #9 File: C:\Xampp\xampp\htdocs\SIP\vcl\dbtables.inc.php Line: 122 |_Callstack #10 File: C:\Xampp\xampp\htdocs\SIP\vcl\db.inc.php Line: 201 |_Callstack #11 File: C:\Xampp\xampp\htdocs\SIP\vcl\dbtables.inc.php Line: 211 

¿Algún alma caritativa me puede orientar?

Gracias

Un Saludo. Pepe Alonso

lucasarts_18 16-04-2007 21:52:56

Cita:

Empezado por pepealonso
¿Algún alma caritativa me puede orientar?

Gracias

Cambiate al php tradicional, es decir a dura y secas, ¿haz leído sobre el tema de este entorno (IDE) en este mismo foro?, al parecer es una verdadera mierda...:o

Lo siento por esos euros que gastaste.

Hasta Luego .-

pepealonso 16-04-2007 22:06:41

Decia Lucasarts_18

Cita:

Empezado por lucasarts_18
Cambiate al php tradicional, es decir a dura y secas, ¿haz leído sobre el tema de este entorno (IDE) en este mismo foro?, al parecer es una verdadera mierda...:o

Lo siento por esos euros que gastaste.

Hasta Luego .-

Si, bueno, siempre es una opción, pero ¿solo queda esa?. Yo no comparto la idea de que sea una mierda. Creo que no es un producto terminado, que es muy distinto, pero me parece una muy buena idea que si se le da la oportunidad de que la terminen, será una buena herramienta. Otra cosa es que igual no deberían de haberla sacado ya, pero me parece que lo que apunta tiene buena pinta.

En fin, gracias por el interés y seguiré esperando que alguien pueda aclararme algo.

Un Saludo. Pepe Alonso

dec 16-04-2007 22:23:09

Hola,

Yo comenzaría por ver qué ocurre con:

Cita:

unserialize() expects parameter 1 to be string, array given in C:XamppxampphtdocsSIPvcldbtables.inc.php on line 1017
Es decir, en la línea 1017 del archivo que se menciona se hace uso de la función "unserialize" pasando como parámetro un "Array", cuando tendría que ser un "String". Investiga a ver... de todos formatea tu mensaje para ver todo el mensaje de error... yo he llegado hasta ahí nada más.

lucasarts_18 16-04-2007 23:13:44

Cita:

Empezado por pepealonso
Decia Lucasarts_18


Si, bueno, siempre es una opción, pero ¿solo queda esa?. Yo no comparto la idea de que sea una mierda. Creo que no es un producto terminado, que es muy distinto, pero me parece una muy buena idea que si se le da la oportunidad de que la terminen, será una buena herramienta.

Sí, tienes razón, solo que con todos los errores mencionados en el otro hilo, no me dan ganas ni de probarlo, pero estaré al tanto de esta herramienta que parece excelente, ojo!!!, mi expresión es que la versión que han liberado no vale mucho la pena por ahora!!!, pero en versiones posteriores debería ir mejorando notablemente...:)

Hasta Luego .-

JXJ 17-04-2007 00:10:01

¿que base de datos estas usando?
¿Que se supone que deben hacer los demas controles que pusiste
en tu form.?

pepealonso 17-04-2007 09:19:16

Hola.

Cita:

Empezado por JXJ
¿que base de datos estas usando?
¿Que se supone que deben hacer los demas controles que pusiste
en tu form.?

Estoy usando Interbase 6.01 y los demás controles son: 3 Labels, 1 TImage y 2 TEdits.

Un Saludo. Pepe Alonso

pepealonso 17-04-2007 09:27:09

Hola dec

La línea que comentas es el reporte, no de un error si no un warning, el error que salta es que no se ha podido establecer la conexión con la base de datos... si lo ejecutas desde fuera del IDE. Si lo haces desde este, ni warning, ni error, ni nada de nada.

Un Saludo. Pepe Alonso

dec 17-04-2007 10:28:40

Hola,

Tienes razón. Sin embargo, yo no dejaría ese "warning" así como así... pero, en todo caso, en cuanto al error que te ocupa... chico, no sé yo... ¿es que no faltará algún archivo necesario cuando distribuyes tu aplicación? ¿Probaste a imprimir con "var_dump", por ejemplo, el contenido de algunas de las variables relacionadas a ver si todo está como se espera?

Pero lo que dices que se ejecute bien en el IDE y fuera de este no... no sé. Yo trataría de mostrar todos los errores de PHP... "error_reporting(E_ALL)" de modo que no me quedara sólo con lo que me muestra el IDE, puesto que puede ser que no tengas alguna extensión instalada en el PHP que usas para comprobar la aplicación, o algo esté mal en la configuración de PHP o la de Apache...

Creo que cuando usas el IDE no estás o no tienes porqué usar el mismo entorno (Apache, PHP, MySQL) que usas habitualmente... por ahí puede que esté el tema: que el IDE proporcione un entorno ideal y que tú no lo proporciones fuera del IDE. Ahora... sin saber qué puede estar pasando... por eso yo trataría de ver los errores "originales" de PHP y no sólo tal y como me los presenta la VCL de Delphi for PHP...

Pero lo mismo estoy en un lío... :)

pepealonso 17-04-2007 10:49:29

Hola de nuevo dec

Creo que llevas razón cuando apuntas a que el problema debe estar en el entorno que crea el IDE que no es el mismo al que yo tengo, lo cual me deja aun más desazonado pues si soy novato en el lenguaje PHP, no te quiero ni contar en cuanto a lo de la configuración de Apache+PHP :-(

Me interesa eso que comentas de ver los errores de PHP. ¿Como usaria la función que comentas error_reporting(E_ALL)?

Un Saludo. Pepe Alonso

dec 17-04-2007 12:37:42

Hola,

Bueno. Yo estoy pez en Delphi for PHP, y desconozco si la VCL se encarga de establecer el nivel de reportes de error, o existe una opción en el IDE para fijarlo... en definitiva no sé dónde se especifica el nivel de reportes de error... o siquiera si se especifica, puesto que estamos hablando de PHP 5 y lo poco que yo conozco es PHP 4...

Pero, de todos modos, aunque sea hasta encontrar una mejor solución, podrías probar a establecer tú mismo el nivel de reportes de error (con la función susomentada) en cualquier evento... digamos al cargarse la página, o en el "OnClick" de un botón que podrías usar antes de tratar de conectar con la base de datos... en todo caso antes de que se produzca el error...

Investiga en las opciones del proyecto (que seguro que existen) y trata de averiguar qué puedes hacer en cuanto a los reportes de errores, tratamiento de excepciones, etc.

caiac 17-04-2007 14:03:46

Duda de instalación
 
Hola a todos.

¿Si tienes instalado Apache y PHP, debes desinstatarlos primero?, ¿Como se configura el servidor local?

Gracias

railback 17-04-2007 21:06:54

Churros con chocolate
 
He probado delphi for php y sólo puedo decir una cosa: churros con chocolate.

La mitad de los fantásticos componentes VCL resulta que sólo funcionan en Internet Explorer (en Firefox no aparecen ni la mitad de las cosas). Utiliza objetos ActiveX o COM o lo como se llamen. Ni siquera cumple los estándares W3C.

Para colmo la conexión a base de datos Firebird la hace a través de ADO ya que los componentes de interbase que lleva utilizan instrucciones SQL que Interbase 6 o Firebird ni entiende (estará destinado para Interbase 7 para arriba).

Si a eso le sumamos que el editor visual es superlento y que de vez en cuando pega un ACCESS VIOLATION y te tira fuera sin posibilidad de grabar, ya me contareis como se pueden hacer aplicaciones medio decentes en internet destinadas a un servidor linux o a clientes de MacOS X.

Resumiendo:

Delphi For PHP = APACHE2 + PHP + IDE CUTRE Y LENTO -> EMPAQUETADO

Que desilusión (como hagan lo mismo con RUBY vamos apañaos).

mlara 18-04-2007 18:39:19

Cita:

Empezado por dec
Investiga en las opciones del proyecto (que seguro que existen) y trata de averiguar qué puedes hacer en cuanto a los reportes de errores, tratamiento de excepciones, etc.

¡¡¡No existen opciones de proyecto!!!

dec 18-04-2007 19:20:13

Hola,

Pues prueba a ejecutar la instrucción "error_reporting(E_ALL)" al comienzo de la aplicación... habrá algún evento "OnLoadPage" o algo así... ¿no? :D

SaidRodriguez 22-04-2007 02:26:58

Quisiera conocer en detalles, como establecer una conexion con Firebird
 
Debido a que soy nuevo en delphi, quisiera saber como establecer una conexion con Firebird ya que veo que es muy diferente a como lo hacia normalmente en PHP Puro. Espero comentarios

semptrion 22-04-2007 05:19:34

Por favor no cambies...
 
Cita:

Empezado por SaidRodriguez
Debido a que soy nuevo en delphi, quisiera saber como establecer una conexion con Firebird ya que veo que es muy diferente a como lo hacia normalmente en PHP Puro. Espero comentarios

Sigue adelante con el PHP. No te dara insatisfacciones y siempre podrás crecer. Con esto de Delphi estás entrando a un mundo muerto de antemano.
Y por supuesto, no uses Firebird. Usa el hermoso y completo Postgresql o el rápido y bien respaldado MySql.
Avanza, avanza. Deja el software propietario y continúa en el software libre.

SaidRodriguez 22-04-2007 23:07:53

Estamos de acuerdo, pero voy a ser mas especifico....
 
Vengo de ser un feliz programador de PHP O.O. y java en linux y desafortunadamente la empresa donde trabajo actualmente (una casa de software) me obliga a que desarrolle en esto que se llama "Delphi for PHP", lo cual comparto la opinion de que es un Mugre. Quisiera es que alguien me explicara como establecer una conexion con Firebird para poder demostrarles a la gerencia de que no soy un inepto. Espero me ayuden.

semptrion 23-04-2007 15:56:17

Lástima que no puedo ayudarte
 
Me hubiese gustado mucho ayudarte, pero carezco del conocimiento para hacerlo, ya que no volvería ni atado al software propietario (entre otras razones por lo que ahora está pasando: falta de documentación y software con funcionamiento aleatorio).
Sin embargo, he visto algo de lo que buscas en
http://www.clubdevelopers.com/index.php?p=58
http://firebird.sourceforge.net/index.php?op=faq
(el que me pareció más interesante) http://www.thecodecave.com/article363
Espero te sirva.
Alejandro Salamanca

dec 23-04-2007 16:18:55

Hola,

Cita:

Empezado por semptrion
Me hubiese gustado mucho ayudarte, pero carezco del conocimiento para hacerlo, ya que no volvería ni atado al software propietario (entre otras razones por lo que ahora está pasando: falta de documentación y software con funcionamiento aleatorio).

Hombre, dicho así, pareciera que al software libre le sale la documentación por arte de magia (tengo entendido, además, que una de las cosas de que adolece el software libre suele ser que la documentación se descuida un poco). O que un programa, por ser de código abierto (o libre, como prefieras), va a carecer de problemas de todo tipo... y me temo que esto sería simplificar demasiado las cosas.


La franja horaria es GMT +2. Ahora son las 15:58:10.

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