Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2013-10

tprocess - demora ejecucion

12 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Paola Bruccoleri

Hola de nuevo..

Tal como lo sugiri� Claudio, hice un prog de consola para el env�o de mail y uso un tprocess para ejecutarlo

         try
           mailApp := TProcess.Create(nil);
           mailApp.CommandLine := 'enviarmail' ;
           mailApp.Options := mailApp.Options - [poWaitOnExit];
           mailApp.Execute;
         finally
           mailApp.Free;
         end;

ciertamente el programa sigue y deja haciendo el env�o, pero no me conforma ese retardo que hace que el sistema quede como "esperando"... y evidentemente es mientras ejecuta el programa enviarmail.exe Ya le coloqu� el Application.ProccessMessage dp del execute, pero es lo mismo..!

No creo que los threads me soluciones porque estuve leyendo en la wiki de freepascal y hay un ejemplo, donde se aprecia que el tiempo mejora si la cantidad de veces que se ejecuta algo es mucha (por ejemplo hay un for o repeat haciendo algo), pero ac� es 1 sola cosa.

Alguna idea??
muchas gracias!

Reply by email

Claudio Romero
to Paola Bruccoleri

Tal vez ya lo resolviste, pero deberias sacar el poWaitOnExit, para que no espere.

Saludos

El d�a 9 de octubre de 2013 21:21, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 35 lines
Hola de nuevo.. Tal como lo sugiri� Claudio, hice un prog de consola para el env�o de mail y uso un tprocess para ejecutarlo try mailApp := TProcess.Create(nil); mailApp.CommandLine := 'enviarmail' ; mailApp.Options := mailApp.Options - [poWaitOnExit]; mailApp.Execute; finally mailApp.Free; end; ciertamente el programa sigue y deja haciendo el env�o, pero no me conforma ese retardo que hace que el sistema quede como "esperando"... y evidentemente es mientras ejecuta el programa enviarmail.exe Ya le coloqu� el Application.ProccessMessage dp del execute, pero es lo mismo..! No creo que los threads me soluciones porque estuve leyendo en la wiki de freepascal y hay un ejemplo, donde se aprecia que el tiempo mejora si la cantidad de veces que se ejecuta algo es mucha (por ejemplo hay un for o repeat haciendo algo), pero ac� es 1 sola cosa. Alguna idea?? muchas gracias! _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Paola Bruccoleri
to Claudio Romero

El 10/10/2013 9:19, Claudio Romero escribi�:

Tal vez ya lo resolviste, pero deberias sacar el poWaitOnExit, para que no espere.

no, no lo resolv�!
es que le pongo justamente el - (menos) para sacar esa opci�n!

Reply by email

Claudio Romero
to Paola Bruccoleri

Ejecutalo sin opciones, borra la linea mailApp.Options

que quede asi

      try
          mailApp := TProcess.Create(nil);
          mailApp.CommandLine := 'enviarmail' ;
          mailApp.Execute;
        finally
          mailApp.Free;
        end;

El d�a 10 de octubre de 2013 08:50, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 14 lines
El 10/10/2013 9:19, Claudio Romero escribi�: > Tal vez ya lo resolviste, pero deberias sacar el poWaitOnExit, para > que no espere. no, no lo resolv�! es que le pongo justamente el - (menos) para sacar esa opci�n! _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Paola Bruccoleri
to Claudio Romero

El 10/10/2013 10:03, Claudio Romero escribi�:

Show quoted text 12 lines
Ejecutalo sin opciones, borra la linea mailApp.Options que quede asi try mailApp := TProcess.Create(nil); mailApp.CommandLine := 'enviarmail' ; mailApp.Execute; finally mailApp.Free; end;

Hola Claudio.. termino de probarlo nuevamente y lo mismo... me meter� con los threads.. nunca los he usado y de todas formas quiero investigarlo.. la aplicaci�n en este caso no puede enlentecerse ni una mil�sima de segundo, y eso q mi m�quina es bastante r�pida y con mucha memoria RAM, que no es lo com�n en la m�q donde se va a probar.. muchas gracias!
byeeeeeeeee

Reply by email

Maxi
to Paola Bruccoleri

Paola, porque no usas una aplicacion que quede en bandeja y le envias un mensaje avisandole que envie el mail. Como es asicronico no se demora. Podes usar los mensajes de windows o socket, o IPC, con los ultimos 2 modelos el programa puede estar en el servidor incluso fura de tu red, y este se encargaria de generar los datos para enviar.

El d�a 10 de octubre de 2013 09:20, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 28 lines
El 10/10/2013 10:03, Claudio Romero escribi�: > Ejecutalo sin opciones, borra la linea mailApp.Options > > que quede asi > > try > mailApp := TProcess.Create(nil); > mailApp.CommandLine := 'enviarmail' ; > mailApp.Execute; > finally > mailApp.Free; > end; > Hola Claudio.. termino de probarlo nuevamente y lo mismo... me meter� con los threads.. nunca los he usado y de todas formas quiero investigarlo.. la aplicaci�n en este caso no puede enlentecerse ni una mil�sima de segundo, y eso q mi m�quina es bastante r�pida y con mucha memoria RAM, que no es lo com�n en la m�q donde se va a probar.. muchas gracias! byeeeeeeeee _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml Linux User #495070 http://domonetic.com/blog

Reply by email

Paola Bruccoleri
to Maxi

El 10/10/2013 11:45, Maxi escribi�:

Show quoted text 6 lines
Paola, porque no usas una aplicacion que quede en bandeja y le envias un mensaje avisandole que envie el mail. Como es asicronico no se demora. Podes usar los mensajes de windows o socket, o IPC, con los ultimos 2 modelos el programa puede estar en el servidor incluso fura de tu red, y este se encargaria de generar los datos para enviar.

Hola MAxi..
gracias por el ejemplo q me enviaste (lo probar� ahora dentro de un rato.) y por esta idea. En este caso no es viable porque es info que no puede quedar en la computadora ni que el usuario se entere de ese proceso.. byeeeeeeee

Reply by email

Maxi
to Paola Bruccoleri

un troyano??? jejeje

Mir� se me ocurre que podes lanzar ese programa al iniciar el principal. no hace falta que se ve que esta corriendo. Le envias un mensaje con el id del registro que debe enviar El programa consulta los datos con el ID recibido. Envia el mail y nadie se entera.

Esto lo hacia en Delphi4 para frenar actualicaziones mientras esta procesando un despacho y no podia introducir ningun cambio hasta terminar el proceso de pesado en la hormigonera.

El d�a 10 de octubre de 2013 11:59, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 20 lines
El 10/10/2013 11:45, Maxi escribi�: > Paola, porque no usas una aplicacion que quede en bandeja y le envias > un mensaje avisandole que envie el mail. Como es asicronico no se > demora. Podes usar los mensajes de windows o socket, o IPC, con los > ultimos 2 modelos el programa puede estar en el servidor incluso fura > de tu red, y este se encargaria de generar los datos para enviar. > Hola MAxi.. gracias por el ejemplo q me enviaste (lo probar� ahora dentro de un rato.) y por esta idea. En este caso no es viable porque es info que no puede quedar en la computadora ni que el usuario se entere de ese proceso.. byeeeeeeee _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml Linux User #495070 http://domonetic.com/blog

Reply by email

Maxi
to Paola Bruccoleri

pone reglas en la base de datos para eso, y una tabla de log en cada accion. si pones en la foerinkey en ondelete none la venta no puede eliminarse si primero no se borra el log asociado a ese id.

Otra es los permisos, no pueden borrar comprobantes quien recibe plata (es una regla financiera-contable), solo el supervisor u otra persona unicamente, si tienen que devolver plata, por nota de credito.

Si queres descubir quie roba es otra cosa. yo haria un programita aparte que reciba por mensaje las operaciones y las guardas en una base.
Pero si es algo sustentable perd� tiempo en permisos y reglas en la base, log y no se salva ni el due�o.

El d�a 10 de octubre de 2013 17:32, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 12 lines
El 10/10/2013 18:21, Maxi escribi�: > > un troyano??? jejeje no, no piensen mal...nada que ver! _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml Linux User #495070 http://domonetic.com/blog

Reply by email

Maxi
to Maxi

el log no hace falta que programes nada, entra a la base y crea un trigger para la tabla que quieras controlas y en el afterinsert haces el insert en el log. definis la clave referencial que apunte a la tabla en cuestion y chau.
En el beforedelete podes poner un evento y leerlo desde los ibalert o anotar en otro lado que se borro, incluso respaldar todo el registro.

El d�a 10 de octubre de 2013 17:41, Maxi
<maximiliano.duarte en gmail.com> escribi�:

Show quoted text 41 lines
pone reglas en la base de datos para eso, y una tabla de log en cada accion. si pones en la foerinkey en ondelete none la venta no puede eliminarse si primero no se borra el log asociado a ese id. Otra es los permisos, no pueden borrar comprobantes quien recibe plata (es una regla financiera-contable), solo el supervisor u otra persona unicamente, si tienen que devolver plata, por nota de credito. Si queres descubir quie roba es otra cosa. yo haria un programita aparte que reciba por mensaje las operaciones y las guardas en una base. Pero si es algo sustentable perd� tiempo en permisos y reglas en la base, log y no se salva ni el due�o. El d�a 10 de octubre de 2013 17:32, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�: > El 10/10/2013 18:21, Maxi escribi�: >> >> un troyano??? jejeje > > no, no piensen mal...nada que ver! > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml Linux User #495070 http://domonetic.com/blog
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml Linux User #495070 http://domonetic.com/blog

Reply by email

Ismael L. Donis Garcia
to Paola Bruccoleri: El 10/10/2013 18:21, Maxi escribi�: no, no piensen mal...nada que ver!

Pues a mi si me da ese olor. Imag�nate que ahora todos los sistemas que tienes instalados empiecen a mandar mail sin que te enteres y a quien sabe. Tendr�s contrato con los de USA?, ten cuidado no te vallan a poner una demanda. jajajaja.

Saludos
========
| ISMAEL |
========

Earlier message 13 lines
----- Original Message ----- From: "Paola Bruccoleri" <pbruccoleri en adinet.com.uy> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Sent: Thursday, October 10, 2013 4:32 PM Subject: Re: [Lazarus-es] tprocess - demora ejecucion El 10/10/2013 18:21, Maxi escribi�: > un troyano??? jejeje no, no piensen mal...nada que ver!

Reply by email