Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-04-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
Unhappy 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
Responder Con Cita
  #2  
Antiguo 29-04-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por kakesoft
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.
No puedes utilizar utilizar un progressBar, ya que no puedes (de forma sencilla) comunicarte con la aplicación que está copiando los ficheros y no puedes saber cuantos elementos ha "procesado" ya.
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.
Responder Con Cita
  #3  
Antiguo 29-04-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
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.
Responder Con Cita
  #4  
Antiguo 30-04-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
Wink 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
Responder Con Cita
  #5  
Antiguo 01-05-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
¿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.
Responder Con Cita
  #6  
Antiguo 02-05-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por dec
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.
Supongo que te puedes referir a TSharedMemory (hay varios similares). Implementa comunicación entre dos aplicaciones Delphi, pero como ya comenté antes, creo que no vale la pena meterse en estas complicaciones.
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:27:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi