Delphi - Autodetectar una aplicacion en RAM

 
Vista:

Autodetectar una aplicacion en RAM

Publicado por josemiguel (3 intervenciones) el 03/01/2009 15:13:23
Hola,
Mi pregunta es:
Como puedo hacer que mi aplicacion autodetecte que ya se esta ejecutando en memoria. Mi pregunta es debido a que tengo una aplicacion corriendo en computadores con pantallas Touch screen. Y la aplicacion se activa con solo pinchar una vez el icono del programa. Pero los usuarios por falta de costumbre, pinchan 2 y hasta tres veces el icono de la pantalla. Con lo cual la aplicacion se carga dos y tres veces en memoria. Con lo cual colapsan la RAM, y se cuelga la aplicacion. Entonces la idea es que la aplicacion autodetecte si ya se encuentra corriendo en la RAM una copia del programa, para asi poder abortar la segunda aplicacion.

Gracias

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:Autodetectar una aplicacion en RAM

Publicado por E.T. (1244 intervenciones) el 03/01/2009 20:44:14
Pones este codigo en el codigo de tu proyecto, algo así

Esta es la unidad de codigo del proyecto, para accederlo ve al menu Project, luego en ViewSource, y agregas este codigo antes de application.initialize, ademas de agregar la unit Windows

Application.Tag:= CreateMutex(nil, FALSE, 'mi proyecto');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
Application.MessageBox('El sistema ya se está ejecutando','Información');
Halt(0)
end;

Quedaría algo así:

program Project1;

uses
Forms,
Windows,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Tag:= CreateMutex(nil, FALSE, 'mi proyecto');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
Application.MessageBox('El sistema ya se está ejecutando','Información');
Halt(0)
end;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Autodetectar una aplicacion en RAM

Publicado por josemiguel (3 intervenciones) el 04/01/2009 00:09:59
Gracias por tu respuesta cronos. Probare este codigo y te comento.

Saludos

Jose miguel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Autodetectar una aplicacion en RAM

Publicado por josemiguel (3 intervenciones) el 04/01/2009 00:22:17
Oye!.., funciono de maravillas. eres un genio amigo Cronos81...

Gracias

Saludos

Jose miguel.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar