Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Agregar archivo data module con {$I 'filename'} (https://www.clubdelphi.com/foros/showthread.php?t=88143)

Theluar 17-04-2015 18:28:02

Agregar archivo data module con {$I 'filename'}
 
Buen día!


Tengo un cuestionamiento, sobre los include files con:

Código Delphi [-]
{$I 'My_File'}

Es posible incluir un Datamodule con conexion dbexpres a Oracle y procedimientos, o incluir solo un dataset y sus procedimientos?

La Razon de este cuestionamiento es la siguiente :

Trabajamos en un proyecto con diferentes modulos(multiples usuarios al mismo tiempo), pero, como cada modulo tiene su acceso al datamodule que es donde tenemos todas las conexiones a la base de datos, al modificar o guardar a veces se pierde algunas de las modificaciones de los usuarios.

entonces queremos tratar cada dataset y procedimientos correspondientes indiviales.

Si tiennen alguna sugerencia se los agradeceria mucho.

Saludos y gracias.

AgustinOrtu 18-04-2015 03:22:45

Hola Theluar

No me queda del todo claro que es eso de las modificaciones que se pierden

Te referis a la informacion de la bd?

Estan usando transacciones, abriendolas y cerrandolas (Commit o Rollback) correctamente?

No creo que una bd pierda informacion porque si

Tampoco me quedo claro lo de tratar cada dataset y procedimientos individuales

No seria mas conveniente tener un solo DataModule, y luego permitir o no acceso a determinadas funciones, usando por ejemplo RBAC?

Theluar 18-04-2015 18:23:06

Saludos.


Lo que quiero hacer es poner todos los procedmimientos de mi Datamodule
en un archivo .inc (include), para despues llamarlo desde unit con {$I 'Nombre de mi archivo '}.

Pero no se como crear el archivo ni la sintaxis que debe levar.

AgustinOrtu 18-04-2015 18:32:11

Los data module son justamente para eso, volcar todos los componentes y procesos de acceso a datos.

Lo más lógico sería que dejes los procesos en el módulo, y luego agregas la unit del módulo en el uses para poder llamar a los procesos

O tu idea es que el programa lea un archivo externo para llamar a los procesos?

Lepe 18-04-2015 18:40:07

pues lo primero mirar qué hace la directiva $I:
- Incrusta todo el contenido del archivo en la posición donde está la directiva.
- después compila

Así que la sintaxis a usar y demás es exactamente la misma de delphi.

Lo lógico:
- tener el datamodule que compile correctamente.
- cortar el código fuente del datamodule y ponerlo en el .inc
- añadir las directivas include en el orden correcto.

Si el programador que modifica el .inc, necesita añadir métodos al Datamodule... Adiós!! esta forma no te sirve.
El programador sí podrá añadir funciones que él solo utilice.

Otra forma de trabajar sería un control de versiones, Github, subversion, etc. (es lo más recomendado, las Jedi Code Library incluye subversion).
Otra forma más: Crear un datamodule y heredar de él para cada programador, algo así como la clase TField, TstringField, TIntegerField. De forma que cada uno modifica archivos distintos.

...Pero si hay varios modificando el mismo archivo... control de versiones.

Theluar 18-04-2015 19:46:44

Muchas Gracias Lepe esto era lo que nececitaba saber

Cita:

Empezado por Lepe (Mensaje 491508)

pues lo primero mirar qué hace la directiva $I:

- Incrusta todo el contenido del archivo en la posición donde está la directiva.
- después compila

Así que la sintaxis a usar y demás es exactamente la misma de delphi.

Me funciono correctamentamente.


La franja horaria es GMT +2. Ahora son las 01:44:58.

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