Ver Mensaje Individual
  #12  
Antiguo 11-07-2006
lsg lsg is offline
Miembro
 
Registrado: jul 2006
Posts: 24
Reputación: 0
lsg Va por buen camino
Bien.

OIDs: utilizo un unico OID por Base de datos, por registro.
Tengo un generador de IDS (una clase dentro del propio framework) que se reserva 15 ids, y una vez reservados nadie puede utilizarlos. Cuando necesita mas, vuelve a buscar otros 15.
Controles: Utilizo unas grillas comerciales, si bien podrian utilizarse otras.

Si bien trabajo con objetos, Una vez mapeada la tabla en el objeto, el mismo es mapeado en un ClientDataset, para poder manipular sus datos con controles DBAware. Y luego, vuelve del ClientDataset al objeto, y del objeto a la base de datos.

El ClientDataset lo utilizo con Fields creados por mi. No estan conectados a base de datos.

Las busquedas las realizo empezando el search por uno de los TPDList ( o lista de Objetos). Luego voy pidiendo mas datos.

Tengo ya una estructura armada y soporta multiidioma, aunque uno debe tomarse el trabajo de armar el diccionario y luego volcar sobre la parte visual cada palabra o mensaje.

Ademas, mi framework, crea Forms con un factory pattern. No del modo tradicional.

Y el Main Menu, es dinamico, se crea en base a la estructura que se declare en ciertas tablas de la base de datos.
Ademas con perfiles de usuario.

Los forms, ya instrumentan metodos heredados para manipular el mapeo de objetos hacia el Tclientdataset y viceversa.

Tambien utilizo frames, (con mismos metodos para manipular objetos/clientdataset) que sirven para armar master/details.

Un problema que tuve, fue que al declarar properties/fields de las clases, como string, integer, TdateTime, etc, fue que no podia asignar el valor null cuando queria. Asi que tuve que crear mis propios tipos de datos, que son todos variants, pero cada uno con el nombre TString, TEntero, TFecha, TFechaHora, etc.

Otro problema, y sin solucion por el momento, es que no puedo utilizar Blobs.
Pero no es algo dramatico. Cuando necesito manejo de imagenes guardo la ruta de las imagenes.


Como funcionalidad adicional, grabo un log de cada sentencia SQL ejecutada, con el dato de que usuario lo grabó. Lo que me permite replicar la base de datos si lo deseo, o revisar que sucedio, o volver hacia atras alguna operacion quiza.

Bueno, espero que haya aclarado alguna de tus dudas.

Un abrazo
Responder Con Cita