Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2016
cyberpablis cyberpablis is offline
Registrado
 
Registrado: ago 2006
Posts: 2
Poder: 0
cyberpablis Va por buen camino
La solucion:

Directamente en el DPR:
Código Delphi [-]
  // Verifico que no exista una instancia previa del programa en ejecución.-
  Application.Title := 'Mi aplicacion';
  if CreateFileMapping($FFFFFFFF, nil, PAGE_READONLY, 0, 32, 'PABLOR_TAGGED') <> 0 then
      if GetLastError() = ERROR_ALREADY_EXISTS then
          begin
          Application.MessageBox('Ya existe una instancia de la aplicación ejecutándose', 'Atención', MB_ICONWARNING);
          ExitProcess(1);
          end;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;

Última edición por ecfisa fecha: 20-08-2016 a las 17:04:25. Razón: Etiquetas [delphi] [/delphi]
Responder Con Cita
  #2  
Antiguo 28-03-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.421
Poder: 21
Angel.Matilla Va por buen camino
Estaba buscando información sobre otra cosa y he ido a dar con este hilo. Aunque es ya de hace unos meses os pongo aquí como lo resuelvo yo en BCB.

En el fichero que lanza la aplicación (el .cpp asociado a su homónimo .bpr):
Código:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
     HWND OtraVentana;
     AnsiString cVersion = "Mi aplicación";

     OtraVentana = FindWindow(NULL, cVersion.c_str());
     if (OtraVentana != NULL)
     {
          Application->MessageBox("¡¡¡LA APLICACIÓN YA ESTÁ ACTIVA!!!", cVersion.c_str(), 48);
        ShowWindow(OtraVentana, SW_RESTORE);
        SetForegroundWindow(OtraVentana);
          return 0;
     }
     try
     {
          Application->Initialize();
          Application->Title = cVersion;
          Application->CreateForm(__classid(TfPersona), &fPersona);
          Application->Run();
     }
     catch(Exception &exception)
     {
          Application->ShowException(&exception);
     }
     catch(...)
     {
          try
          {
               throw Exception("");
          }
          catch(Exception &exception)
          {
               Application->ShowException(&exception);
          }
     }
     return 0;
}
//---------------------------------------------------------------------------
Me parece un método sencillo y elegante.
Responder Con Cita
  #3  
Antiguo 28-03-2017
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.510
Poder: 23
MAXIUM Va camino a la fama
Mutex, no olviden el Mutex.

Google: delphi + mutex + example
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:38:03.


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