Muchisimas gracias de nuevo.
Ahora sí que me ha quedado todo claro.
Ahora entiendo el mensaje de error que había empezado a aparecerme cuando se cerraba la aplicación y que no era capaz de localizar. Era porque yo ejecutaba la llamada a
Free cuando yo ya no necesitaba el objeto, y luego al cerrarse el programa, éste intentaba volver a ejecutar esos mismos
Free gestionados por el
_Release.
No obstante, me gusta ser yo quien tenga el control y no fiarme de lo que automáticamente vaya a hacer el programa. Prefiero ser yo quien llame a
Create y a
Free en vez de esperar a que lo haga el propio programa. Además, este código fuente puede variar en los proximos meses y, llegado ese momento, tanto yo como cualquiera de mis compañeros de trabajo tendríamos que acordarnos de este detalle del
Free "automático" para este caso tan partícular. Demasiado riesgo fiarse de la memoria humana.
Así que, aunque sólo sea por esta vez, no voy utilizar el
TInterfacedObject ya que voy a ser yo quien llame al
Free, y la liberación de memoria va a quedar garantizada.
De nuevo muchísimas gracias. Me habéis ayudado muchísimo. Sois unos cracks.