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 19-06-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
comunicar Form y DataModule

Hola!
Aqui con una duda existencial...!

La recomendacion para una aplicacion de BD es que un Form puede referenciar a un DataModule; sin embargo el DataModule no debe referenciar al Form.

En una aplicacion en el form se tienen varios editbox el contenido de ellos se guarda en la bd (post) ¿como hacer que el form se entere que el post fue exitoso? Si uso el evento AfterPost del Dataset tendria que referenciar el datamodule al form, lo cual NO DEBE hacerse.....

Agradesco sus sugerencias, opiniones y comentarios.
Imágenes Adjuntas
Tipo de Archivo: jpg NoUsesForm.jpg (11,1 KB, 19 visitas)
Responder Con Cita
  #2  
Antiguo 19-06-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
pues no sabia yo de esta recomendacion. Uso multiples referencias a otras forms del proyecto en funciones generales del datamodule (la mayoria de las veces, eso si, pasandolas como argumento de las funciones o bien estableciendo anteriormente variables generales). Creo que la mejor manera, por eso, es establecer relaciones en el datamodule con procedimientos y variables de otras forms... por ejemplo, para cambiar un label de cierta form
si se produce un error en post y ejecutar una funcion de esa form.

Código Delphi [-]
public
    ejecutar_si_error_externa : procedure of object;
    variable_externa : Pstring;
    ...
procedure Tdatamodule.Table1postError(...)
begin
        variable_externa^ := mensaje_de_error;
        ejecutar_si_error_externa;
end;
...

Código Delphi [-]
procedure TForm1.Ejecutar_si_error;
begin 
   ... 
end;
 
procedure TForm1.Hacer_post;
begin
      datamodule.Ejecutar_si_error_externa :=  Ejecutar_si_error
      datamodule.variable_externa := PString(Label1.Caption);
      ...
      datamodule.Table1.Post;
end;

asi se hacen referencia a otras forms desde el datamodule, estando el codigo de cada cosa (mas o menos) en su sitio.
Responder Con Cita
  #3  
Antiguo 19-06-2008
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
primera vez que veo esa recomendación...

En los datamodules referencio tambien a los forms (Cuando los necesito)...

si coso y yo estamos equivocados pls... alguien nos explique porque y como salir del error.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #4  
Antiguo 19-06-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
bueno, no es un error, es una recomendacion...mas limpio y entendible si que queda
Responder Con Cita
  #5  
Antiguo 19-06-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Bueno el asunto viene a colacion por unos articulos que descargue hace un tiempo de Danysoft: "Aplicaciones de Bases de datos con Delphi" en el que se hace la recomendacion. Como siempre estaban en el rincon, me puse a leerlos y encontre esa recomendacion; tambien en unos post de hace unas semanas Al Gonzalez hace referencia a eso de "mantener el modulo de datos libre de informacion del form" (palabras mas, palabras menos, mientras no se desate una guerra) asi que jugando me puse a tratar de hacer algo asi y ¡oh, sorpresa! ¡se me trabaron las neuronas!
Como siempre pues busco mas informacion y sobre todo opiniones a favor y en contra.

Como siempre los ejemplos de los libros y demas es la misma "para hacer mas sencilla la explicacion solo tomaremos un form y ahi colocaremos los componentes de acceso a datos y los de conexion con la BD "
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
Problemas con el form del DataModule saul_fg Varios 4 19-05-2008 05:28:01
Nuevo Form con DataModule gluglu Varios 4 08-11-2005 16:37:30
Comunicar 2 PC por Serial y por USB MRSAM C++ Builder 0 20-10-2005 23:11:17
Comunicar app's en red doverzhoff Varios 4 03-11-2003 14:26:34
comunicar 2 máquinas via TCP/IP Pally Varios 1 28-07-2003 16:47:25


La franja horaria es GMT +2. Ahora son las 00:53:53.


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