Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-12-2010
jandrorm jandrorm is offline
Miembro
 
Registrado: dic 2009
Posts: 24
Poder: 0
jandrorm Va por buen camino
procedure

Hola buenos dias a todos,


Antes de nada decirles a los moderadores del foro que no sabia bien donde colocar este post si lo ven conveniente de que debe ir en otra parte del foro que lo muevan sin problema, gracias.


Bien estoy trabajando con dephi 7, y tras ver que tengo una parte del código que se repite bastante y es la misma, que es donde comprueba la BD esta on, decidí meter esa parte en un procedure y llamarlo cuando lo necesitara sin repetir de nuevo el código.


Al principio lo hice de la siguiente manera a modo de prueba:
Código Delphi [-]
 
 procedure cone_bd;
 begin
 codigo...
 end;
 

 procedure TPrincipal.FormCreate(Sender: TObject);
 begin
 cone_bd;
 end;
Pero claro esto me ocasionaba el error de que los objetos del Tzconnnection no lo encuentra. Por lo cual después lo hice de otra manera.
Código Delphi [-]
 
 procedure TPrincipal.FormCreate(Sender: Tobject);
 

 procedure cone_bd;
 begin
 codigo...
 end;
 

 begin
 cone_bd;
 end;
Así me funcionaba en la parte es en concreto pero después fuera de esa parte no funcionaba, por lo cual mi duda es de que manera, puedo yo crear un procedure a modo de “función” que lo pueda llamar en cualquier parte del programa sin que me de el error de que esos objetos no están declarados. Buen gracias a todos por vuestro tiempo y paciencia jeje.
Responder Con Cita
  #2  
Antiguo 23-12-2010
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
Lo normal es conectar a la BD al iniciar el programa y se acabó. La desconectas cuando vas a salir del programa.
Los dataset (query, table, etc.) se deben colocar en un data module.
En los forms sólo pones los datasource que apuntan a los dataset.


P.d.: recuerda poner títulos descriptivos a tus preguntas.
Responder Con Cita
  #3  
Antiguo 23-12-2010
jandrorm jandrorm is offline
Miembro
 
Registrado: dic 2009
Posts: 24
Poder: 0
jandrorm Va por buen camino
Si la función de cone_bd no es para conectar si no que hay conexión con la bd, y compruebo que esta conexión existe durante varios pasos del programa. Por eso lo de crear el procedure.
Responder Con Cita
  #4  
Antiguo 23-12-2010
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
Es que no sirve comprobar eso salvo que sea una conexión por internet o algún otro tipo de conexión poco fiable.
Si es una conexión normal a un servidor de red local entonces lo normal es que no se desconecte salvo una avería física.
Por eso te comento que "lo normal" es conectar al principio y desconectar al final. No se está comprobando la conexión a cada rato porque debe estar siempre conectado.
Responder Con Cita
  #5  
Antiguo 23-12-2010
jandrorm jandrorm is offline
Miembro
 
Registrado: dic 2009
Posts: 24
Poder: 0
jandrorm Va por buen camino
Vale entonces tendría que haber especificado algo mas, no es para red local, es para conexión con una bd externa, y esa bd hace un poco de cliente/server entonces lo de comprobar el estado un poco es por eso. Gracias por tu rapidez.
Responder Con Cita
  #6  
Antiguo 23-12-2010
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
Bien, entonces puedes hacerlo como he indicado antes, creas la function o procedure, como quieras, y lo llamas desde cualquier lugar del programa. Entonces realmente no he entendido el problema.
Responder Con Cita
  #7  
Antiguo 23-12-2010
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola.
Supongo que los componentes de conexión a esa base de datos, los tienes en un DataModule, ¿no?

Si creas ese procedimiento en el DataModule y lo declaras en la sección public del mismo, lo podrás llamar desde cualquier form/datamodule/unit de tu aplicación.
(No olvides poner en el uses de cada formulario al datamodule en cuestión)

Código Delphi [-]
 procedure TMiDataModule.cone_bd;
 begin
   codigo...
 end;


 procedure TPrincipal.FormCreate(Sender: TObject);
 begin
   MiDataModule.cone_bd;
 end;


 procedure TOtroForm.FormCreate(Sender: TObject);
 begin
   MiDataModule.cone_bd;
 end;
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
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
llamar a procedure desde otra procedure anubis Varios 23 04-03-2010 18:44:37
puntero a un procedure en un procedure como parametro fcios Varios 2 14-03-2009 03:41:22
Procedure ozegarra Firebird e Interbase 5 07-12-2007 23:04:33
Procedure MarioATamborini Firebird e Interbase 5 11-08-2005 18:46:07
¿procedure? Giniromero Firebird e Interbase 18 26-02-2004 15:52:08


La franja horaria es GMT +2. Ahora son las 23:58:29.


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