Ver Mensaje Individual
  #1  
Antiguo 03-07-2023
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Evitar formularios duplicados

Tengo una aplicación en BCB6 en la que varios de los formularios están definidos como fsMDIChild. Lo que me está pasando, que no se me había ocurrido, es que se puede abrir cada uno de estos formularios más de una vez y no se me ocurre como evitarlo. En el lanzador de la aplicación, para evitar que se lance dos veces, tengo definido este código:
Código:
AnsiString cVersion = "GesInt v. 1.5." + FileDateToDateTime(FileAge(Application->ExeName)).FormatString("yy") + FormatFloat("000", DayOfTheYear(FileDateToDateTime(FileAge(Application->ExeName))));
HWND 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;
}
Lo he probado antes de hacer el Application->CreateForm pero no me ha funcionado bien. ¿Hay alguna manera de evitar que se abra más de una vez cada formulario?
Responder Con Cita