jachguate:
Te darás cuenta de que el código
Código:
if PunteroClase = nil Then
Begin
// intentamos de nuevo registrar la clase, a ver que ocurre...
RegisterClass(TClass);
Assert(GetClass('TClass') <> nil, '¡Sigue siendo nil, RegisterClass ya no sirve!');
End;
jamás se va a ejecutar. No hay manera que se salte el Assert. A menos claro que tenga deshabilitado el uso de Assert.
Realmente este problema es muy extraño. La pregunta que le hice era tan sólo por no dejar pero si realmente GetClass devuelve nil inmediatamente después de RegisterClass pues creo que tu segundo Assert (el que jamás se ejecuta) realmente es cierto: '¡Sigue siendo nil, RegisterClass ya no sirve!'.
// Saludos