hola
jm75 ten cuidado, después de Form1.Free no se puede llamar a ningún otro evento o método de Form1, porque ya no existe, y una llamada a cualquier método provocará una Violación de Acceso a memoria.
Para anular un evento si lo tienes fácil:
Para asignar un evento:
Código Delphi
[-]
Form1.OnActivate := Form1Activate;
Ojo con esto:
Código Delphi
[-]
Form1.OnActivate := Form2.Form2Activate;
Form2.free;
porque al activarse de nuevo el Form1 obtendrás un Access Violation.
Saludos