Inicialmente tentei implementar uma Thread na inicialização do TEF para que o sistema não "congele", não porque demora tanto (cerca de 4 segundos), mas pensando em outras circunstâncias onde ocorram falhas durante a inicialização, uma falha no hardware da máquina TEF ou ela simplesmente não estar conectada, por exemplo. No entanto, o Pedro Frayman já me adiantou dizendo que isso não é possível com o ACBrTEFAPI. Então me foi sugerido fazer um timeout de 15-20 segundos e se o TEF não foi inicializado, matar o processo do sistema e executá-lo novamente. Porque caso contrário, o usuário ficaria esperando vários minutos com o sistema "congelado".
A melhor solução pra mim seria inicializar o TEF em uma Thread, mas já que isso não é possível, como implementar o timeout, já que Thread e até um TTimer não funcionam nesse caso?
Ou alguém tem uma solução diferente?