Fála, Fabião.
>Se qualquer uma das classes usadas neste bloco disser que implementa a interface "IExecutor", ela será obrigada pelo compilador a implementar esta interface...
Pra complementar (eu sei, tanto tempo depois... <s> é que estava aqui revisando um white-paper sobre estas coisas, e lembrei desta mensagem):
realmente, seria ótimo se o compilador do VFP pegasse estas coisas (ou seja, provesse polimorfismo "type-safe"), mas como isso não é possível, uma saída para checar isto em tempo de execução seria criando um wrapper para a função nativa GetInterface(), verificando se tal objeto implementa tal interface, e caso positivo, segue em frente, caso contrário, trata o problema.
Obviamente, isso ainda não chega nem perto do ideal, porque seguindo seu exemplo, seria meio complicado ter um Form implementando uma interface que está definida em um componente COM. Mas ao menos para objetos de negócio talvez isto possa amenizar a dor. :)
Claudio Lassala