The simplest instances are those in which one object invokes another object's method. Things become more complicated when the sender and receiver of a message know little or nothing about each other. A callback is a situation in which one object would like to be notified when an event occurs for another object, and leaves some information to make this contact possible. C programmers are accustomed to passing a function pointer for this purpose. The general setup for implementing callbacks in RB works like this.
Objects are either notifier or receiver objects.
Receiver objects then ask to be put on the notification list. They are notified when the notifier object has an event. RB provides some built-in support for callbacks between controls in the same window, called object binding . Since object binding is mostly undocumented, I'll discuss it elsewhere . But callbacks and other varieties of event processing go far beyond intrawindow communcation of controls.