Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2024
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 268
Poder: 14
darkamerico Va por buen camino
Red face Mejora No Visual para un TDataModule

Saludos amigos,
Os pongo en situación, muchas veces una aplicación se extiende tanto que los componentes TQuery, TDataSource, etc. se apilan por montones en un data module, lo cual obliga a crear un segundo, un tercer datamodule y anidarlos con el componente TConnection para trabajar, lo cual aparte de ser incomodo, se hace complicado de mantener con el tiempo.

Intenté reemplazar los TDataModule con TForm, con la idea de poder utilizar componentes containers como TTabControls para agrupar los componentes de acceso a datos, pero son incompatibles por ser no visuales, ahora bien, quizás exista por ahí algún componente TTabControl o similar que sea capaz de albergar componentes TConnection, TQuery, etc. dentro de un TDataModule.

Seria una mejora muy interesante integrar esta funcionalidad de forma nativa en un TDataModule, dotarlos de la capacidad de tener componentes containers como: TPanel, TTabControl, etc.

Atte
Americo Torres
Responder Con Cita
  #2  
Antiguo 24-02-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes crear tantos datamodules como necesites, en lugar de tener uno con muchos componentes.
Responder Con Cita
  #3  
Antiguo 24-02-2024
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.085
Poder: 19
juanelo Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Puedes crear tantos datamodules como necesites, en lugar de tener uno con muchos componentes.
Aunque no soy partidario de colocar "muchos" componentes en un datamodule, no deja de tener sentido y practticidad la idea del compañero darkamerico
__________________
Ya tengo Firma!
Responder Con Cita
  #4  
Antiguo 25-02-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Imagino que se podría hacer algo así como una especie de componente que fuese una lista de componentes
Responder Con Cita
  #5  
Antiguo 26-02-2024
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 268
Poder: 14
darkamerico Va por buen camino
Red face Esta idea no es nueva

Saludos compañeros y amigos, me he percatado en mis investigaciones que diversos desarrolladores tenian una idea parecida ya desde hace tiempo, quizas desarrollar un componente paralelo a un TDataModule y unos cuantos componentes agrupadores como tabs, paneles, y otros (solo design time) podrían ser muy útiles para mejorar la ordenación lógica de los componentes de acceso a datos.

Lanzo el reto a aquellos con las capacidades suficientes para realizar esta tarea.

Un fuerte abrazo a todos
Responder Con Cita
  #6  
Antiguo 03-05-2024
marco3k marco3k is offline
Miembro
 
Registrado: feb 2015
Posts: 87
Poder: 10
marco3k Va por buen camino
Data Module separados

Cita:
Empezado por darkamerico Ver Mensaje
Saludos amigos,
Os pongo en situación, muchas veces una aplicación se extiende tanto que los componentes TQuery, TDataSource, etc. se apilan por montones en un data module, lo cual obliga a crear un segundo, un tercer datamodule y anidarlos con el componente TConnection para trabajar, lo cual aparte de ser incomodo, se hace complicado de mantener con el tiempo.

Como te dice casimiro, puedes tener varios datamodules, yo me estructuro una aplicacion de escritorio en 3 carpetas: acceso a datos (aqui creo un data module con componentes tibquery), logica (aqui creo un data module con componentes tdatasetprovider y tclientdataset que llama a su componente de acceso a datos), interfaz (aqui creo los formularios que va usar el sistema pero que son heredados de una clase form personalizada y que llama a su componente logica). Lo anterior lo aplico para cada tabla, es decir no tienes que meter todos los componentes a un solo data module, debes estructurarlo para que sea ordenado y fácil de manejarlo.


Cita:
Seria una mejora muy interesante integrar esta funcionalidad de forma nativa en un TDataModule, dotarlos de la capacidad de tener componentes containers como: TPanel, TTabControl, etc.
Puedes crear compenentes personalizados y anadirlo como una ficha de delphi, yo tengo creado componentes de botones, edits, dtpicker y varios mas. Tambien tengo clase formularios que heredo cada vez que creo un nuevo formulario. Es decir lo que tu pides ya existe desde hace tiempo, no es algo que se deba reinventar.


Mira hace años aprendí esto de estructurar una aplicación de delphi gracias a la pagina delphiallimite, que aun funciona, googlealo y encontraras esto para que te sea de guía en tus desarrollos.



Suerte
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
Mejora para el DataModule darkamerico Varios 1 07-08-2017 21:16:13
¿En qué se diferencia un TDataModule de un TForm? noob OOP 5 25-09-2008 17:50:08
Usar TDataModule de un .exe en un DLL Luzma C++ Builder 2 15-07-2008 00:48:59
Problema de Tdatamodule y Packges Efren2006 OOP 0 04-06-2008 18:35:47
Com usar TDataModule? omar_e_rc Varios 1 19-05-2005 23:28:55


La franja horaria es GMT +2. Ahora son las 01:03:48.


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