Do you really need to specify AForm as TForm1 in the constructor of EncThread? For example, when you only want to redraw the form it is enough to have its ancestor TForm because TForm already has the Invalidate method, and the circular reference is resolved.
When you want to do something specific with a single control on TForm1, e.g. update the Text of a TEdit, you should only pass the TEdit to EncThread.Create.
If nothing like this works out (but I doubt this) you must add the thread class to the TForm1 unit.