He probado las tres cosas pero ninguna funcionó. Lo unico que parece que me elimina el error es modicar el código comos sigue:
Código Delphi
[-]procedure TVentana_Principal.Button4Click(Sender: TObject);
var
MensajeThread: TPruebaMensaje;
begin
MensajeThread := TPruebaMensaje.Create(False);
end;
Pero en ese caso cada vez que se ejecute la línea:
Código Delphi
[-]MensajeThread := TPruebaMensaje.Create(False);
Se me crearía una nueva instancia, el problema ahora es, que las antiguas si no las he liberado posiblemente me estén ahí consumiendo recursos ¿Me equivoco?.
En el ejemplo he puesto un botón pero esas líneas de código las va a llamar un execute de un TIdTCPserver, ejecutandose muchas veces durante la vida del programa.
Saludos.