FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
A ver si entiendo. Quieres tapar lo que hace frontend hasta que termine. Luego quieres destapar pero más tarde frontend volverá a actuar y lo querrás volver a tapar. ¿Es así?
Eso implica que el programa tapador o no se cierra o requiere que le digan que tape. ¿Eso lo hace frontend? No es complicado establecer un sistema de comunicación usando archivos de memoria compartida. Imagina este escenario: Una App se ejecuta con unos parámetros en la linea de comandos y hace determinada cosa. Otra aplicación o el mismo usuario quiere pasarle más parametros pero sin cerrar la app. Para ello abre otra instancia de la app con los nuevos parámetros. Esta nueva instancia al empezar detecta que ya estaba corriendo otra copia, entonces lo que hace es abrir un archivo de memoria compartida, copia la línea de comandos en él y envía un mensaje a la primera instancia que le díce "¡Oye!, que te he mandado unas cosas". Este mensaje es un mensaje de Windows con PostMessage. La Primara instancia recibe el mensaje y lee el archivo de memoria compartida con toda la linea de parárametros y actúa en consecuencia. Mientras, la segunda instancia se autodestruye y jamás se ejecutará en su plenitud. Ambas instancias son de un mismo ejecutable, son lo mismo, pero actúan según si ya existía una previa. Hay otras formas de comunicación pero ésta es sencilla desde el punto de vista del usuario pues para pasar parámetros siempre usa la misma forma, abrir la app y pasar los parámetros. el resto es automático. Si esto te sugiere una solución puedes seguir adelante. Aquí publiqué una clase que crea un archivo de memoria compartida. Saludos. |
#2
|
|||
|
|||
Cita:
voy a ojear el código, busar qué es todo lo que no entiendo en lo que a funciones y procedimientos el código use, así de verdad sé qué y cómo lo hace y te cuento como me fue. Te molestaria si te posteo en una respuesta un video del FrontEnd, así más o menos entendés como trabaja y capaz se te ocurre algo más práctico? Dónde aprendiste Delphi tan bien? Yo vivo en Argentina y la verdad que de los pocos cursos que dan, solo era Visual Basic, después C# en muy pocos lados , ActionScript para Flash y ahora lo que más dan era JAVA, Python, Android y Visual C#. Pero jamás encontré uno de Delphi que tanto me gusta ese lenguaje. Igualmente al no trabajar de programador no le di la atención necesaria por que yendo al caso a Delphi lo agarré en el año 2002 más o menos y de a poquito lo fui usando y aprendiendo por mi cuenta en internet y lo malo fue que lo que más hacía (y hago no voy a mentir) es copiar y pegar código de otros sin estudiar bien lo que hace y ahí mi error de no haber aprendido bien y más para Windows que con las API de windows si las entendés se hace todo muy fácil. |
#3
|
||||
|
||||
Si, ya me gustaría saber tanto...
Cita:
Cita:
Saludos. |
#4
|
|||
|
|||
Volví. (mucho trabajo)
Cita:
Vuelvo un rato después de algo de trabajo y poco tiempo a seguir con mi hobbie para poder despejarme un poco. Me gustaría preguntarte alguna cosita para ver si cambio todo mi programa de raíz y lo empiezo de nuevo. Pongamos que hago todo el programa de nuevo. El front end lanza mi programa el cual abre y muestra la imagen de "LOADING GAME". Lo que quiero es que al cargarse el emulador, mi programa se dé cuenta que el emulador está en ejecución. Se puede saber si ese programa está en primer plano, está maximizado y ahí "esconder" la ventana de mi programa hasta que el emulador se cierre y ahí cerrarla? Por que en realidad eso es todo lo que necesito que mi programa haga y con tanto bat y programas externos la estoy empeorando. O sea; FrontEnd ----> Lanza mi programa y queda a la espera de que mi programa termine para volver a primer plano. Mi programa ---> Aparece encima de todo, mostrando una imagen de "LOADING GAME" o algo así, lanza el emulador y queda a le espera de que el emulador termine, para cerrarse y de esta manera darle el permiso al Frontend para que vuelva al prmer plano. Podrías darme alguna de idea de como poder lograr eso sin liarme hasta no entender más nada y desistir, por favor? Muchas gracias!!!!! |
#5
|
||||
|
||||
Ok. Te presento un programita que se ejecuta maximizado mostrando un Label que dice "LOADING GAME" al arrancar. Luego Ejecuta "Notepad.exe" y se esconde. Al cerrar Notepad, el programita se termina.
Espero que esta sea la idea de lo que quieres hacer.
Saludos. |
#6
|
|||
|
|||
Cita:
Esta tarde, en cuanto regrese del trabajo, esto va a ser lo primero que me ponga a hacer. La verdad es que no me puedo explicar como pudo ser algo tan sencillo y jamás imaginarlo. Ja! Bueno están los que saben y son fuente inagotable de sabiduría y los que no aprendemos por más ganas que le echemos. 😂 🤣 😂 Te agradezco y más tarde te paso el reporte de como me fue. Muy agradecido! Saludos!!!!! |
#7
|
|||
|
|||
Hola acá molestando otra vez.
Sabés que el programa se me queda tildado y no ejecuta nada? Parece que el problema es acá: if CreateProcess(nil, PCHAR(CommandLine), nil, nil, false, 0, nil, nil, SI, PI) Pero no puedo saber por qué. Me dice error reised exception class $C00000005 with mesage 'access violation at 0x7788d00: write of adress 0x005eb846' Qué puede ser? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Optimizar codigo | n03l | Varios | 3 | 28-11-2013 21:07:11 |
optimizar el codigo en menos lineas | darkbits | Varios | 5 | 19-07-2013 13:32:40 |
Ayuda como Optimizar Código | JerS | OOP | 3 | 24-06-2011 05:59:44 |
optimizar codigo | acrophet | Varios | 5 | 16-01-2011 23:28:39 |
Optimizar el sgte codigo | BlueSteel | Varios | 9 | 14-08-2007 22:33:24 |
|