A caucus does not exist until the first member joins the caucus, when the TStandardCaucusMember constructor starts a caucus that runs on the host you specify with the service reference parameter. It might take a little longer for the first member to join a caucus than for subsequent members to join.
In addition to locating the proper caucus and adding the member to the caucus, the TStandardCaucusMember constructor also automatically issues a zero-byte join message to all caucus members (including the originator).
To join a caucus:
In this example, caucusText is the name of the caucus the client is joining, and hostText is the name of the host machine on which the caucus runs. For more information about constructing service reference objects, refer to the "Communications access" chapter of OS Services.
TNetworkServiceReference reference
( TLocalObjectName (TStandardCaucusMember::kCaucusObjectType, caucusText ),
TaligentIPNetworkName ( TDNSHostName ( hostText ) ) ) ;
TStandardCaucusMember fCaucusMember ( reference ) ;
Each member of a caucus should use the a compatible derived class of TCaucusMember. For example, if you are using the standard caucus implementation, implement all caucus members using TStandardCaucusMember, not another class derived from TCaucusMember. If you mix caucus members of different types, you risk unpredictable results when members try to send and receive messages.