RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
IAppServer Interface

IAppServer is the interface that client datasets use to communicate with a dataset provider.

Pascal
IAppServer = interface(IDispatch);
C++
__interface IAppServer : public IDispatch;

Midas

Client datasets use an IAppServer interface to implement many of their properties and methods. This interface provides the basis of communication between the client dataset and a provider component from which it receives data and to which it applies updates. 

If the provider is in the same application as the client dataset, the IAppServer interface is implemented by a hidden object that is created to manage the communication between the client dataset and the provider. In multi-tiered applications, client datasets obtain an IAppServer instance from a connection component that resides in the client application. 

When client datasets use IAppServer to talk to a provider component, they pass the name of the desired provider to all method calls. By default, the interface is stateless, meaning that each method call functions independently, with no reliance on previous method calls. Because of this, IAppServer has no properties, which would represent persistent state information. However, there are cases where the client dataset relies on state information, such as the current database cursor position when performing incremental fetching using the AS_GetRecords method. This state information is preserved only if multiple clients do not share an application server that implements IAppServer.

Note: Component Method declarations that use IAppServer use the _di_IAppServer type instead. This type is a DelphiInterface wrapper around the IAppServer interface:

typedef System::DelphiInterfaceDelphiInterface_object< IAppServer >  _di_IAppServer;

 

TClientDataSet 

TDataSetProvider 

TCustomClientDataSet 

Communicating with Providers Using Custom Events 

Communicating with the Client Dataset

Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!