![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#9
|
||||
|
||||
|
No se si ponerme a llorar o saltar de alegria.... Al, esto del Objeto superglobal era lo que estaba buscando hace años...!!! mi mundo de posibilidades acaba de cambiar... voy a tirar todos mis programas a la basura para re-escribirlos basados en tu implmentación del objeto superglobal... (es en serio)
pero bueno, para efectos de ilustración de lo que estoy diciendo les muestro como resolví el problema que nuestro amigo Spk2000ar plantea al inicio del hilo, y entenderán por que la solución de Al me hace sentir que en todos estos años no he aprendido nada de Delphi... Hace mucho tuve la misma necesidad que Spk2000ar... entonces cree una clase llamada TSesionAPPL... para mi empresa, por lo cual no podré compartir todo el codigo pero si las ideas básicas... 1. Escogí la estrategia de enviar mensajes entre aplicaciones, para lo cual me documenté un poco sobre las funciones: SendMessage AllocateHWnd DeallocateHWnd 2. Habia un módulo principal (MAIN) que funcionaba como barra de menú, que llamaba a los módulos operativos... y le pasaba como parametro un archivo que generaba el MAIN, el cual, despues de ser leido por el módulo que fue llamado se borraba... (No sabia de los archivos mapeados en memoria sino hast hace poco, asi que no me juzguen tan duro) 3. para la implementación: Cree unos códigos de mensaje
(BOSE es una abreviatura de un módulo) 4. La función que procesa los mensjaes la definí como:
La anterior función es mas o menos transparante asi que no voy a entrar en detalles sobre ella... 5. al crear el objeto sesion, registraba la función de procesamiento de mensjaes...
6. El destructor del objeto sesion "des-registraba" el procedimiento de escucha de mensajes..
7. El archivo de interambio generado por el Main, le pasaba el Handle al módulo, e inmediatamente le enviaba un mensaje de "ingreso a la aplicación"
8. El mensaje para cerrar forzadamente los módulos era:
9. Bueno como dije, no puedo publicar mucho de este codigo, peor la idea era mas o menos esta... Esto fue hace mucho y precisamente en estos días estaba pensando en redefinir la clase de una manera mas óptima (utilizando archivos mapeados en memoria) para utlizarla en nuevos proyectos, pero como dije, el Objeto superglobal de AL, cambia el panorama.... Muchas gracias AL... y espero haber sido claro en mi explicación anterior, pues como dije, fue solo a manera ilustrativa por si a alguien le sirve... |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Cómo establecer la opción "Usuario no puede cambiar contraseña" | fide_uci | API de Windows | 1 | 28-04-2011 02:29:55 |
| Como evitar que mis aplicaciones se "cuelguen" | Gaim2205 | Varios | 6 | 21-05-2008 16:21:30 |
| aPHP - Una especie de "plantilla de aplicaciones" para PHP | dec | PHP | 13 | 20-05-2007 07:04:32 |
| Aplicaciones "en producción" hechas con Lazarus | rretamar | Lazarus, FreePascal, Kylix, etc. | 42 | 06-03-2007 01:04:16 |
| Como saber quien tiene una sesion iniciada en la maquina "\\maquina....." | OSKR | API de Windows | 2 | 25-11-2005 20:20:32 |
|