
MDI, SDI o VCL
#1
Posted 14 March 2011 - 10:10 AM
Bueno mi problema seguro ke para muchos de vosotros sera muy facil de resolver, pero para mi es un buen problema.
Tengo que hacer un programa de Gestion para una empresa, y al final me he decidido para programar con delphi. Me he instalado la ultima version Delphi Xe.
Ahora es donde tengo el problema grande. Mi idea es que el programa sea un ejecutable programa.exe que este ataque a una base de datos, y luego parar gestionar los clientes que se ejecute clientes.exe pero que use la base de datos del programa.exe. Asi no se haria el programa muy grande y se podria desenvolupar por modulos.
Vale una vez echa un poco la presentacion la pregunta es: Se puede hacer esto que pido?( Me direis que si que en la informatica se puede hacer todo, pero algun ejemplo o manual o explicacion gracias... ) Y es necessario utilizar algunos de los formatos SDI, MDI o VCL en concreto para hacer lo que quiero?
Muchas Gracias por avanzado.
#2
Posted 14 March 2011 - 12:23 PM
Antes que nada, bienvenido al foro.
Una pequeña aclaración:
- SDI : Single Document Interface
- MDI : Multiple Document Interface
- VCL : Visual Component Library
La VCL, es la suite de componentes de Delphi; las demás son modalidades de presentación de los formularios.
Cuando hablas de un programa.exe y un cliente.exe, ¿A que te refieres? ¿Entiendes lo que es la modalidad Cliente/Servidor?
Creo que si nos brinda más detalle será más fácil de ayudarte.
#3
Posted 14 March 2011 - 01:51 PM
Intento reexplicar.
Cuando hablas de un programa.exe y un cliente.exe, ¿A que te refieres? ¿Entiendes lo que es la modalidad Cliente/Servidor?
Realmente lo que quiero es una base de datos SQL y atacarla desde los clientes.
No queria decir un programa.exe en el servidor y un cliente.exe en los clientes. La idea es que el cliente mismo ejecute un exe (programa.exe) y si quiere ver los articulos pues se ejecute un articulos.exe, y si quieres ver los clientes un cliente.exe, pero que todos los ejecutables ( Serian como modulos ) Se puedan vincular entre si y que la conexion a la base de datos pase siempre por el primer ejecutable el programa.exe.
Vamos la primera prueba que hice fue crear un proyecto y generar 2 VCL forms para intentar vincular el uno con el otro con un bsgroup. Pero no lo supe hacer.
No se si ha quedado mas claro.
Muchas Gracias
#4
Posted 14 March 2011 - 02:16 PM
#5
Posted 14 March 2011 - 02:46 PM
Como bien dice eduarcol, Delphi nos brinda muchas facilidades.
Hasta donde percibo, me parece que te la estas complicando demasiado. Todo eso puede ir en un mismo ejecutable con las validaciones necesarias; donde cada formulario tendría su propia opción dentro del menú.
Si quieres ir un poco más lejos, entonces te recomiendo documentarte acerca de las BPL.
#6
Posted 14 March 2011 - 05:28 PM
La idea de tener 2 o mas exe lo digo para poder hacer un Alt+Tabulador para poder cambiar entre articulos, clientes, presupuestos, etc... una vez este abierto.
Por ahora hasta donde se yo de programacion ( Se que estoy limitado... ) hago distintos forms y si les hago el showmodal() del form no se puede hacer nada hasta que lo cierras, i el show simple pues en teoria si pero no puedes pasar de uno a otro con el Alt+Tabulador o almenos que queden las aplicaciones en la barra de windows para que las puedas maximizar i minimizar.
Si a lo mejor me estoy complicando mucho, pero como no se mas os estoy molestando

Muchas Gracias
#7
Posted 14 March 2011 - 06:49 PM
@Glauk, creo que debes de enfocarte y re-analizar lo que quieres lograr.
Con tus pantallas MDI perfectamente puedes lograr que tus formularios estén abiertos todos en un tiempo y en una sola aplicación. Ahora bien si necesitas tener varias aplicaciones para manejar distintas "funcionalidades" aún así puedes tener formularios MDI.
Al utilizar ShowModal estarías usando la modalidad SDI, en cambio Show es MDI. Te recomiendo documentarte sobre MDI en Delphi.
#8
Posted 14 March 2011 - 06:56 PM
Glauk yo te sugiero que leas el libro La Cara Oculta de D4. Es un material de referencia que te ayudará a comprender bien el manejo de Delphi, y también que te dieras una visita por los foros Manuales y Tutoriales. Allí hay más material que puede serte de mucha ayuda.
Ya sabes, si tienes dudas aquí estaremos.
Saludos,
#9
Posted 14 March 2011 - 07:36 PM
Muchas Gracias!!
PD: Seguire molestando
#10
Posted 15 March 2011 - 03:59 AM
La idea es tener 1 DataModule en tu aplicacion, que es como un form pero no-visible, donde colocas tu conexion con la base de datos, que es generica para todos tus modulos (hace el papel de tu aplicacion.exe), luego, cada modulo es un nuevo Form dentro de ese unico proyecto, que o bien se crea y se abre al inciarse la aplicacion (autocreate forms, lo tienes en proyect, options, pero si luego el usuario lo cierra te quedas sin ese modulo en pantalla y tendrias que evitarlo en el evento OnClose del form) o bien lo creas tu a mano al elegir tu usuario una opcion de un menu o algo asi (mas flexible, peor necesitas una ventana menu en algun momento).
Cada una de esas pantallas tienen sus componenetes que conectan con su tabla de datos, pero esos componentes usan la base de daots generica del DataModule.
Esa es la estuctura "general" de un programa con bases de datos cliente/servidor (o locales, la verdad es que no cambiaria nada) en Delphi y otros lenguajes similares.
Espero que vayas orientandote con los consejos que te enviamos...
#11
Posted 17 March 2011 - 12:38 AM
Hola,
Glauk yo te sugiero que leas el libro La Cara Oculta de D4. Es un material de referencia que te ayudará a comprender bien el manejo de Delphi, y también que te dieras una visita por los foros Manuales y Tutoriales. Allí hay más material que puede serte de mucha ayuda.
No hay que olvidar que el maestro Marteens ha liberado también "La cara oculta de Delphi 6" que, de inmediato, se ha convertido en mi nuevo libro de cabecera. Se puede descargar desde http://www.commanet.net/
Saludos