FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Es algo importante ejecución de .exe y algo más ayúdenme
Miren el problema es el siguiente: yo se cómo ejecutar un .exe desde delphi, pero me gustaría mejor hacer lo siguiente, tengo una aplicación en delphi con un progressbar desde la cual quiero ejecutar otra aplicación hecha también en delphi, o sea un .exe que al terminar se autocierra (esta aplicación que quiero ejecutar, copiará ficheros y al terminar la copia se cierra) y la cuestión es que en la aplicación desde la cual ejecuto la otra se debe estar llenando una barra de progreso o un gauge hasta que la otra que copie los ficheros, termine.
Saludos a todos y gracias Espero ayuda |
#2
|
||||
|
||||
Cita:
Se puede llegar a lo que pides, pero creo que es una solución (para hacerla bien) bastante compleja; Una alternativa que yo he utilizado a veces mucho más sencilla y que da un resultado similar (si se trata de enseñarle al usuario algo para que vea que el programa está trabajando) es utilizar una barra similar a la que aparece cuando cargas Windows. Viene a ser como un ProgressBar cíclico que va "dando vueltas" de forma contínua. Si buscas por Internet, Torry, DSP, VCLComponents,... me suena haber visto algun componente ya implementado, sino también puedes simularlo tú con poco trabajo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Estoy con Neftali
Hola,
No sé exactamente de qué se trata o cómo lo quieres implementar, pero, estoy con Neftali en que la solución es demasiado compleja, al menos para lograr lo que pretendes: mostrar al usuario información acerca del progreso de la tarea del "segundo programa": copiar ciertos archivos. Haría lo que Neftali te comenta o llegaría a mostrar una barra de progreso, pero, en el segundo programa, esto es, el que realiza propiamente la acción de copiar los archivos: si es un programa de tipo consola, seguramente me iría a la opción de Neftali, pero, cuando no... lo dicho. Me lo imagino algo así como cuando instalas un programa, que en ocasiones (leo muertos ) te aparece antes de nada una pequeña ventana en la que hay no más que una barra de progreso que dice algo así como "extrayendo archivos..."... luego de esa ventana aparece el programa "asistente de instalación", que ya cuenta con su propia información acerca del progreso de sus tareas, pero, la primera ventana queda bien y cumple perfectamente su función... esto es lo que opino, vamos. Quisiera recordar, de todos modos (porque creo haberlo tenido entre manos) al menos un componente que podía utilizarse para "comunicarse" entre dos aplicaciones hechas con Delphi, pero, ciertamente, aunque lo intento, no consigo recordar su nombre ni dónde conseguirlo. He hecho una búsqueda en Google con los términos Communicate between two delphi applications y aparecen varios resultados: el segundo, concretamente, lleva a un artículo publicado en Torry's Dephi Pages que trata sobre el tema. Puede que te interese echarle un vistazo. Si buscas un poco más creo que al cabo darás con el componente a que no hago referencia, pero que, como te digo, creo que no me invento y verdaderamente existe. En cualquier caso me sigo quedando con lo que Neftali te comenta, o, cuando no, con lo que comento yo mismo más arriba, pero, en fin, puede que quieras al cabo averiguar cómo hacer lo que te propones, o, a lo menos, ver cómo podría hacerse. Última edición por dec fecha: 29-04-2005 a las 19:25:27. |
#4
|
||||
|
||||
Saludos todos y discúlpenme antes que nada
Socios sin muchos rodeos simplemente les quiero decir que quiero hacer un instalador de una aplicación multimedia que hice en el mismo delphi y el instalador también lo quiero hacer en delphi, lo que quiero es saber cómo puedo hacer la copia de los ficheros de la multimedia, mostrando un gauge o un progressbar con el progreso de la copia, y un label que en el caption me mostrará el fichero que se está copiando.
Miren mi problema era que con winexec(pchar('SFX de WinRar'),sw_hide); quería ejecutar desde la aplicación que voy a hacer que en este caso es un instalador, un sfx de WinRar, con opciones avanzada, o sea el mismo me descompactaría en una dirección indicada los ficheros de la multimedia, y al terminar la copia se autocerraría, y en el programa se estaría mostrando un progressbar o un gauge con el proceso de demora en que el sfx descompactaría la multimedia. Como ya ven mi decición ahora pienso que es bastante sencilla, solamente, como dije anteriormente quiero poner un progressbar que me indique el proceso de copia y un label que me indique el fichero que se está copiando. graciasss y disculpen mi torpeza por decirlo así de alguna manera. saludos a todos |
#5
|
||||
|
||||
¿Porqué no usar un instalador?
Hola,
Creo que por lo que planteas en tu anterior comentario es aún más complicado de hacer lo que requerías en la pregunta que inició este hilo, puesto que, la aplicación con la que te quieres comunicar no está preparada para tal fin (es posible que me equivoque) y así no tienes control sobre lo que esta haga o deje de hacer y no podrás comunicarte con ella: lo más que podrás saber es cómo terminó, si lo hizo exitosamente o no (insisto, quizás me equivoque). O sea, a mí se me ocurre algo que es una chapuza de mucho cuidado: ir comprobando en el directorio en donde se supone que se van a extraer los archivos el número, nombre, tamaño, etc., de estos, para ir mostrando el "progreso" de la extracción de los mismos. Sin embargo, lo que acabo de plantear es solamente una chapuza que no se me ocurriría implementar y por tanto tampoco recomendar ni a ti ni a nadie. Puesto que lo que quieres conseguir es instalar un programa, al fin y al cabo, ¿porqué no utilizar un programa "instalador" de los muchos que hay? Además no poco potentes, en el sentido de que podrás incorporar "opciones avanzadas", lógicamente, estudiando a los entresijos del programa instalador que al cabo te decidas a usar. Se me ocurre, por afinidad con Delphi el programa InnoSetup, que te permitirá utilizar "código Delphi" para personalizar tus instalaciones, entre otras muchas características. Otra opción podría ser Nullsoft Scriptable Install System, también muy potente, utilizado y recomendable. Ambos son "de código abierto" y gratuitos. |
#6
|
||||
|
||||
Cita:
Puede encontrase en: http://www.silicmdr.com/downloads/SharedMemory.zip (por ejemplo) Aunque si buscas en Google como ya te han comentado lo encontrarás en varioos sitios y también te toparás con alguno otro similar. P.D: Dejo lo dicho más arriba por si le sirve a alguien, pero habiendo leído el mensaje siguiente al citado (y viendo lo que el programa que copia es un programa externo -WinRAR-) ésta solución no sirve, pues se basa en que ambos programas trabajen con éste componente.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 02-05-2005 a las 11:16:22. |
|
|
|