Property Integer Server
Read Access: | Get Server to IntegerVariable |
Write Access: | Set Server to IntegerVariable/Value |
Server identifies the DataDictionary Object (DDO) which provides database services to this data entry object (DEO).
This sample shows a single DDO in a view and the Server property set to that DDO.
Object oCustomerDataDictionary is a cCustomerDataDictionary End_Object Set Server to oCustomerDataDictionary
This sample show a DDO structure with 2 DDOs in a view (or other component), an Inventory table DDO, related and constrained to a Vendor table DDO, and the Server property set to the Inventory (child) table DDO.
Object oVendorDataDictionary is a cVendorDataDictionary End_Object Object oInventoryDataDictionary is a cInventoryDataDictionary Set DDO_Server to oVendorDataDictionary End_Object Set Main_DD to oInventoryDataDictionary Set Server to oInventoryDataDictionary
When this property is set to a new value, this object detaches from the old server object and attaches to the new server object, if any. In addition, access of this property (i.e., by get or expression) will return the server of the parent of this object if this object's server property is zero. It is broadcast by the parent object when the parent's server property is changed while the object is active.
For example, in a typical data entry view (dbView), the view object itself mayb have a server property set, while all of the child DEOs (dbForm, dbComboForm, cDbTextEdit, etc.), may not, so these child DEOs inherit and use the same Server DataDictionary as the view itself.
In more complex views, you have some data-aware grouping containers, such as dbGroup, dbContainer3D or dbTabDialog, inside the view, each of which have child DEOs. Typically, a Server would be set at each of these container levels and not at each individual DEO level. The Studio will actually help you with this when creating views via the wizard or dragging table.columns from the DDO Explorer.
Where a Server property is set is crucial, because many DEO properties and methods are only excuted in a DEO or data-aware container with a Server property set. Examples of such DEO class members are Request_Save, Request_Delete, Verify_Data_Loss_msg, Verify_Delete_msg, Verify_Exit_msg, Verify_Save_msg
Default is 0.
Note that a 'Set Server' statement needs to be located in code below the DDO it references.
You can use Data_Set_Server_Count and Data_Set_Server to get all parent servers for a DDO. You can use Data_Set_Client_Count and Data_Set_Client to get all child servers for a DDO.
See Which_Data_Set to get the server that owns a particular table.