Ver la Versión Completa : evitar ejecutar la misma aplicacion 2 veces
Saludos a todos los compañeros de este foro. un saludo muy cordial.
Bueno, mi pregunta es la siguiente. ¿Como puedo evitar que un usuario ejecute la misma aplicacion que realice mas de una vez?.
Bueno para este sistema uso tablas paradox y delphi 5. (Es que el sistema ya esta viejito).
Saludos a todos en verdad este foro resulta de mucha ayuda para todos los que estamos en este rollo.
Atte Noe. ;)
roman
05-04-2005, 01:33:35
Prueba con la unidad UIApp de mi página (http://www.clubdelphi.com/users/roman/)
// Saludos
Gracias roman por tu respuesta pero no logre resolverla podrias explicarme como lo hago con la funcion findwindow.
O mejor te agradecere me proporciones algo de codigo, si es que me puedes hacer el favor. :p
Gracias de todos modos.
roman
06-04-2005, 20:25:14
Pues el código ya te lo he proporcionado. ¿Qué es lo que no funciona?
La unidad UIApp no hace uso de la función FindWindow justamente por los motivos que explico en mi página (http://www.clubdelphi.com/users/roman/). Para usar la unidad únicamente tienes que incluirla en el archivo dpr (menú Project|View Source):
program Project1;
uses
UIApp,
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Únicamente con esto se impide la ejecución de la segunda instancia.
Acabo de probar con Delphi 5 y funciona bien.
// Saludos
Toñico
07-04-2005, 16:32:39
Hola Noe,
también puedes usar un componente que está incluido en la colección LMD-Tools SE. La colección es de pago, aunque hay muchos componentes libres. la web donde los puedes encontrar es www.lmd.de (http://www.lmd.de).
Un saludo.
Muchas gracias Roman, ya funcionó, solo era eso, incluir la unidad en el archivo dpr n el uses, funciona a la perfeccion.
No cabe duda que siempre nos ayudas a todos.
Gracias
:)
Roman, todo funciona muy bien, pero fijate que tengo varias aplicaciones realizadas. cuando intente abrir otra no me deja, habria una forma para poder ejecutar aplicaciones pero que sean diferentes?.
bueno se que es mucho pedir pero se agradece la ayuda de antemano.
Gracias.
:)
roman
07-04-2005, 20:16:46
habria una forma para poder ejecutar aplicaciones pero que sean diferentes?.
Claro que sí. Si lees el texto de la página verás que tienes que poner tus propios valores para las cadenas sMutex y sActivar (ambas), esto es, deben ser únicas para cada aplicación. Puedes generar valores oprimiendo Ctrl-Shift-G en el editor de Delphi.
// Saludos
Podriais pasarme esa unidad?? Necesito eso mismo que explicasteis, que una aplicacion no pueda ejercutarse mas de una vez al mismo tiempo. Un saludo!
Hola,
Puedes conseguir la unidad "UIApp" en la página web de Román (http://romansg.net/index.php?pg=uiapp).
Gracias! Es que los enlaces que hay en los comentarios de arriba no estan bien.
Un saludo!
cascarrabias
30-04-2008, 10:58:04
Hola, se que es un post viejo pero, ROMAN, mira estoy utilizando tu unidad, y funciona muy bien lo unico es que la excepcion no es silenciosa para mi, si me restaura o da el foco a la primera instancia pero lo hace mandando un mensage de error, tal vez la cosa este en que estoy usando windows vista!, tambien utilizo Delphi 2007. Saludos y gracias por tu unidad.
El error dice lo siguiente:
Application Error
Exception EAbort in module "nombre poyecto".exe at 002BE4F6.
Operation Aborted.
escafandra
30-04-2008, 16:24:19
Aunque está escrito en Builder C++, lo puedes traducir a delphi. Es posible que te sirva de ayuda:
Evitar dos instancias de una aplicación (http://www.clubdelphi.com/foros/showpost.php?p=280992&postcount=3)
Saludos.
Alliance
26-05-2008, 19:30:03
¿Como puedo evitar que un usuario ejecute la misma aplicacion que realice mas de una vez?hola, eso que quieres se puede hacer de la siguiente manera, con esto el programa se ejecutara una solo vez, si quieres volver a ejecutarla tendras que reniciar la computadora.
var
programa: integer;
begin
if GlobalFindAtom('Repetido') = 0 then
Programa := GlobalAddAtom('Repetido');
else begin
ShowMessage('No puedes ejecutar el programa mas de una vez');
end;
end;espero que te sirva
Greeting
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.