Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2012
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
Red face Zeos y MySQL

Hola compañer@s!!!

Despues de un tiempo bastante pero bastante largo sin aparecer aqui vuelvo y esta vez con lazarus.
Debo de hacer una consulta.
Uso lazarus 0.9.30, zeos 6.6.6 y fedora 16

Solo 1 formulario y un datamodule
en el formulario un DataGrid, un ZQuery y un DataSource, en el DataModule solo un ZConnection
Los 4 componentes perfectamente bien configurados para funcionar, ya que en modo diseño me muestra la informacion en el datagrid perfectamente sin ningun tipo de error. El problema viene cuando ejecuto. En modo runtime me tira el siguiente error:

"Database connection component is not assigned."

Lo "extraño" es que si pongo en el ZConnection en el form con el resto de los componentes todo va a la perfeccion!!!

LLevo una semana dando vuelta con esto y no encuentro nada por ahi... solo he visto este tread en ingles pero no me aclaro
Alguien puede darme una mano o alguna idea?

Desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 30-01-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me parece que el programa arranca desde el form 1 y el datamodule posteriormente, cuando deberia de ser al reves.
Por eso en diseño funciona pero no en ejecucion.
Cambia el orden de inicio del programa y veras la diferencia.

PD: En la unit del project veras algo asi:

Código Delphi [-]
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1); //primero
  Application.CreateForm(TDataModule1, DataModule1); // segundo
  Application.Run;
end.

Cambia el orden asi:

Código Delphi [-]
begin
  Application.Initialize;
  Application.CreateForm(TDataModule1, DataModule1); //primero
  Application.CreateForm(TForm1, Form1); // segundo
  Application.Run;
end.

Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 30-01-2012 a las 19:41:40.
Responder Con Cita
  #3  
Antiguo 30-01-2012
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
Red face Zeos y MySQL

Gracias Caral por tu pronta respuesta.

Pues si efectivamente eso que acabas de decir tambien lo he probado y ahora mismo carga primero el DataModule. Pero produce exactamente el mismo error.
Otra prueba que he hecho y si funciona perfectamente es poner el ZQuery en el DataModule junto con el Zconnection y solo dejar el DataSouece en el form, y como he dicho si funciona, pero no se... no me parece que fuera lo mas practico tener todos los ZTable y los ZQuery juntos, de una Gran Aplicacion con una base de datos llena de Store Procedures y vistas y tablas, prefiero poner cada ZQuery o ZTable en el form que se use.... Pero en fin esto seria tema de otra discusion.
La incognita o el problema ahora es el porque no puedo poner el ZConnection el DataModule y el resto de los componentes en el Form
Responder Con Cita
  #4  
Antiguo 30-01-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El zquery colocalo en el evento OnShow del form, no en el oncreate y pruebalo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 30-01-2012
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
Smile

Hola Caral,
Perdona mi ignorancia , pero como pongo un componente en un evento, en este caso en el OnShow?, Tengo claro que por defecto todos los componentes que "tiramos" en un form se crean en el OnCreate del form, pero...., como hago para que se cree en el onshow?

Nuevamente muchas gracias por la respuesta!!!
Responder Con Cita
  #6  
Antiguo 30-01-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Te posicionas en el form, ahi veras los procedimientos y los eventos de ese form (a la izquierda, abajo).
En los eventos busca el evento onshow, ahi colocaras el procedimiento que habre el query, osea:
Código Delphi [-]
Query1.open;
En el query ponle active: false;
saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 30-01-2012
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
Si, perdona no te habia entendido, hablamos de abrir el Query.
Si correcto lo pruebo y digo algo
Responder Con Cita
  #8  
Antiguo 30-01-2012
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
Unhappy

Hola nuevamente

Sin novedad

He hecho esto:

Código Delphi [-]
procedure TformCli.FormShow(Sender: TObject);
begin
  zquery1.Connection:=DataModule1.ZConnection1;
  zquery1.Open;
end;

y nada sigo exactamente igual, la verdad es que no tengo ni idea
Responder Con Cita
  #9  
Antiguo 30-01-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bien, podria ser un problema del zconnection, cuando lo abres?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 30-01-2012
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
Talking

Arreglado

Despues de tanto probary mediante tus pistas lo he logrado.
Situacion:

zconnection en datamodule
zquery y datasource en form

El zconnection activado en diseño, asi que ya arranca el programa con el zconnection activado

lo unico que tenia que hacer con el zquery o ztable es:

Código Delphi [-]
procedure TformCli.FormShow(Sender: TObject);
begin
  ZQuery1.Active:=True;
  ZTable1.Active:=True;
end;

Activarlo en el evento onshow del form

Gracias Caral por tus consejos y guia
Responder Con Cita
  #11  
Antiguo 30-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por armadillo Ver Mensaje
Otra prueba que he hecho y si funciona perfectamente es poner el ZQuery en el DataModule junto con el Zconnection y solo dejar el DataSouece en el form, y como he dicho si funciona, pero no se... no me parece que fuera lo mas practico tener todos los ZTable y los ZQuery juntos, de una Gran Aplicacion con una base de datos llena de Store Procedures y vistas y tablas, prefiero poner cada ZQuery o ZTable en el form que se use.... Pero en fin esto seria tema de otra discusion.
Pue sí, es tema de otra discusión, que ya hemos tenido en algunas ocasiones, y realmente es lo correcto, los componentes de acceso a datos en los datamodule y dejar solo el datasource en el form. Puedes tener distintos datamodules, uno para ventas, otro para compras, otro para... lo que haga falta
Responder Con Cita
  #12  
Antiguo 31-01-2012
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Hola.
Mis dos centavos: si usas ZeosLib fijate en la propiedad DesignConnection que tiene el componente ZConnection. Evita que al compilar quede activada la propiedad "Connected" (que el desarrollador puede haber activado en tiempo de diseño) y pueda traer problemas a la hora de ejecutar el software fuera del equipo donde está Lazarus (ya que normalmente las aperturas de conexiones SQL, consultas y/o tablas se realizan por código).
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #13  
Antiguo 31-01-2012
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
Gracias por vuestros consejos

Cita:
Empezado por rretamar Ver Mensaje
Hola.
Mis dos centavos: si usas ZeosLib fijate en la propiedad DesignConnection que tiene el componente ZConnection. Evita que al compilar quede activada la propiedad "Connected" (que el desarrollador puede haber activado en tiempo de diseño) y pueda traer problemas a la hora de ejecutar el software fuera del equipo donde está Lazarus (ya que normalmente las aperturas de conexiones SQL, consultas y/o tablas se realizan por código).
Si hubiera sabido esto... con respecto a los zeoslib... no bubiera iniciado este hilo jejeje maldita ignorancia ... por suerte y por eso existen estos foros
Responder Con Cita
  #14  
Antiguo 31-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por armadillo Ver Mensaje
Si hubiera sabido esto... con respecto a los zeoslib...
No es con zeoslib, sino con todos. Me parece recordar que sólo fibplus tiene una opción para desconectar automáticamente.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dac for mysql o Zeos soloriv MySQL 8 24-01-2009 01:39:19
zeos con mysql vicvil MySQL 1 18-09-2008 20:30:06
Ayuda con MYSQL y Zeos Muchachin Conexión con bases de datos 14 09-05-2007 22:42:39
MySql y Zeos Lib!! lroblesco Conexión con bases de datos 2 11-04-2006 19:14:44
!Zeos y mysql max 4.1.13 Carlosguiland MySQL 3 16-08-2005 17:08:02


La franja horaria es GMT +2. Ahora son las 16:32:25.


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