¿Cuál es el propósito de tener un DataModule en su proyecto? ¿Tiene alguna propiedad especial en comparación con una clase o módulo normal? ¿Cuáles son las convenciones de para qué se usa habitualmente?¿Qué es el DataModule (dm) en Delphi?
Respuesta
Un módulo de datos es un "formulario" no visual (contenedor) que puede contener componentes no visuales (generalmente componentes de bases de datos, aunque se puede agregar cualquier componente, como diálogos y componentes Indy) que pueden ser compartidos por muchos formas.
Este wiki explica más detalladamente: Delphi Wikki.
+1; lo esencial en una oración simple. Normalmente tengo un 'TXyzActionDataModule' que contiene instancias' TAction' (empaquetadas en 'TActionList' o algo similar) para un grupo de formularios/marcos que están relacionados con alguna característica común de' Xyz'. –
+1, y hablando de eso, en Delphi XE2, recuerdo haber intentado agregar componentes que no son de base de datos a un Módulo de datos y solo los componentes relacionados con la base de datos se mostrarían en la paleta ... Desde entonces he podido hazlo. –
Normalmente se utiliza para los objetos Dataset y DataSource para mantenerlos en una ubicación central. Un DataModule solo puede contener componentes no visuales pero no está limitado a los componentes de acceso a datos. Puede poner un TTimer en él y GuardarDialog, etc ...
Puede ser útil cuando tiene varios formularios, necesitando cambiar el código solo en un lugar, en lugar de cada formulario.
En mis aplicaciones de escritorio, generalmente tengo un módulo de datos que contiene un montón de TImageList
s. Si mis aplicaciones usan TCP/IP
, los componentes están en un módulo de datos separado. Por supuesto, casi toda la lógica de mi aplicación va en diferentes módulos de datos. Y, si necesito crear una aplicación de servicio, pongo mi lógica en un módulo de datos para que pueda crear fácilmente una aplicación de escritorio para la depuración. Y, por último, pero menos, pongo mis componentes de acceso a datos en módulos de datos la mayor parte del tiempo.
Un módulo de datos difiere de una clase simple que se puede diseñar dentro del diseñador de formularios y sus componentes se pueden editar con el inspector de objetos. El módulo de datos también tiene un recurso que se transmite en un archivo DFM.
Además, un módulo de datos puede ser utilizado por otros módulos de datos, formularios y marcos, y luego sus componentes también están disponibles para su selección en el inspector de objetos.
- 1. Dibujando en un DataModule en Delphi
- 2. Uso de Delphi DataModule: ¿solo o múltiple?
- 3. ¿Qué es "*; 1" en el valor TADOStoredProc.ProcedureName en Delphi?
- 4. OSGi: Modelo vs primavera DM
- 5. ¿Cómo podría obtener BundleContext en Spring DM?
- 6. En Delphi, ¿es seguro el subproceso OutputDebugString?
- 7. En Delphi, ¿es seguro el subproceso TDataSet?
- 8. Error al instalar dm-mysql-adapter
- 9. ¿Qué tecnología Delphi usar?
- 10. ¿Qué significa `en ReturnAddress` en Delphi?
- 11. ¿Cuándo es verdadero System.IsConsole en Delphi?
- 12. ¿Por qué ciertos parámetros tienen el prefijo "A" en Delphi?
- 13. ¿Qué es un buen libro multihilo para Delphi?
- 14. ¿Qué puede influir en el tamaño del ejecutable Delphi?
- 15. ¿Es Delphi generic TInterfaceList posible?
- 16. ¿Es posible escribir extensiones en el depurador de Delphi?
- 17. Compruebe si el carácter es una letra en Delphi (Unicode)
- 18. ¿cuál es el uso de la palabra inline en Delphi
- 19. LoadError: no hay tal archivo para cargar - dm-sqlite-adapter
- 20. Delphi: ¿Por qué ExplicitWidth y ExplicitHeight siguen apareciendo en archivos .DFM y qué es?
- 21. Sinatra + Heroku + Datamapper despliega problemas con dm-sqlite-adapter
- 22. Delphi en la Mac, ¿es posible?
- 23. ¿Qué es '\ 0' en C++?
- 24. ¿Qué significa el error del compilador delphi E2134?
- 25. ¿Qué IDE de Java es el más RAD de una manera similar a Delphi?
- 26. En Delphi, ¿qué hacen realmente System.TMonitor.Pulse y TMonitor.PulseAll en realidad
- 27. ¿De qué IDE se desarrolló el Delphi IDE?
- 28. ¿DxScene es el "WPF para Delphi"? ¿Alguien lo usó?
- 29. Delphi 2010: ¿qué pasó con TRTTIConstructor?
- 30. Cómo hacer que un TSpeedButton de Delphi permanezca presionado si es el único en el grupo
@iManBiglari, ¿no son todas las preguntas aquí? –
@UweRaabe Indeed –
+1; gran pregunta! Mucha gente ni siquiera piensa en dónde podría usarse un DM. –