A mi me parece que aquí hay una confusión y no sé si debe a que cuando escribes TEdit en realidad quieres escribir TDBEdit o bien que hay algo que no nos has contando.
Si estás usando TEdit (sin el DB) entonces no aplica lo del evento DataChange del DataSource ya que el control no está conectado directamente al dataset.
Y en tal caso, el de usar TEdit (sin DB), tampoco tienes que tratar casos individuales.
Ya Marcos lo señaló desde el principio:
Asignas a todos los TEdit el mismo evento OnChange. No necesitas ninguna bandera. Al comienzo pones el botón inhabilitado y en cuanto se entre a este evento lo habilitas.
// Saludos
|