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?