Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2004
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Poder: 21
VRO Va por buen camino
Problema con la instruccion Halt

Hola a todos, ¿Qué hay denuevo?,
ya estoy en la ultimísima etapa para acabar la aplicación, ahora lo que estoy haciendo es encontrar la forma correcta (sin que me de error) de permitir que mi aplicación no se ejecute más de una vez simultáneamente y que cuando se intente ejecutar más de una vez me de un mensaje de error y me resture la aplicación anteriormente ejecutada.

Para ello primeramente he utilizado un componente llamado TUsedTimeStop, que con unos pequeños arreglos han conseguido que sirve también para permitir que la aplicaciín se ejecute hasta 40 veces (no simultáneamente) sin que se registre y a la 41 hay que registrar la aplicación.
El código fuente de este componente trae una instrucción que es halt que da un error:

" Este programa ha efectuado una operación no admitida y será interrumpido."

Después he utilizado código encontrado en este foro, que paso a postearlo a continuación:
Código Delphi [-]

procedure TForm1.FormCreate(Sender: TObject);
 var Sem  : THandle;
begin
   
   Sem := CreateSemaphore(nil,0,1,'PROGRAM_NAME');
    if ((Sem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS)) then 
    begin 
    CloseHandle( Sem );
    ShowMessage('This program is already running.'+
          'Este programa ya se está ejecutando...');
    Halt;
end;

Si en vez de halt pongo application.terminate, no me da error pero no se como restaurar la aplicación anterior, es decir, la primera ha ejecutar y me ocurre otra cosa que es como si pegase un pantallazo, es decir, se carga el formulario principal y luego se descarga, es cuestión de segundos pero queda muy feo.

Si alguien pued decirme porque da error el halt y como arreglarlo para que me restaure la plicación en ejecución.

En realidad no se si con esta parrafada de explicación e aclarado mi situación ó lo he empeorado.

De antemano, gracias por prestar su tiempo.

Verónica Ríos.
Responder Con Cita
 



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 16:17:35.


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