Einem Ereignis kann man eine für dieses Ereignis parameterkompatible Methode zuweisen.
Nichts anderes habe ich beschrieben.
Das von mir beschrieben mache ich seit Jahr und Tag und es funktioniert.
Ein OnIrgendwas ist "nur" ein Methodenzeiger, dem man eine passende Methode zuweisen kann, wo diese deklariert ist, ist egal, dass kann in der gleichen
Unit sein, muss es aber nicht.
Ob etwas im Objektinspektor zugewiesen werden kann oder nicht hängt eigentlich nur davon ab, ob die
IDE die entsprechende Methode findet und im Objektinspektor anzeigen kann oder nicht (und zuweisen will oder nicht). Sie prüft dabei schon, ob die Methoden parameterkompatibel sind und zeigt nur die (ihrer Meinung nach) passenden Methoden an.
Es würde mich wundern, wenn hier im konkreten Fall eine Ereigniszuweisung im Quelltext in der Form
Main.OnCreate := DataModule1.openDBExecute
nicht funktionieren würde. Kompilieren lässt sich das und funktioniert prinzipiell auch, allerdings ist es fraglich, ob eine Zuweisung auf das onCreate-Ereignis eines Formulares im OnCreate-Ereignis dieses Formulares noch irgendeinen Sinn ergibt, wohl eher nicht.