[Overview][Resource strings][Constants][Types][Classes][Variables][Index] | Reference for unit 'simpleipc' (#fcl)

# TSimpleIPCServer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Simple IPC server component

## Declaration

Source position: simpleipc.pp line 135

`type TSimpleIPCServer = class(TSimpleIPC)`
`public`
`constructor Create(); override;` |  | Create a new instance of TSimpleIPCServer
`destructor Destroy; override;` |  | Remove the TSimpleIPCServer instance from memory
`procedure StartServer();` |  | Start the server
`procedure StopServer;` |  | Stop the server
`function PeekMessage();` |  | Check if a client message is available.
`function ReadMessage;` |  | Read message from the queue
`property StringMessage: string; [r]` |  | Last message as a string.
`procedure GetMessageData();` |  | Read the data of the last message in a stream
`property Message: TIPCServerMsg; [r]` |  | Last read message
`property MsgType: TMessageType; [r]` |  | Last message type
`property MsgData: TStream; [r]` |  | Last message data
`property InstanceID: string; [r]` |  | Instance ID
`property ThreadExecuting: Boolean; [r]` |  | Is the message thread currently executing ?
`property ThreadError: string; [r]` |  | Last thread error
`published`
`property Global: Boolean; [rw]` |  | Is the server reachable to all users or not
`property OnMessage: TNotifyEvent; [rw]` |  | Event triggered when a message arrives
`property OnMessageQueued: TNotifyEvent; [rw]` |  | Event called when a new message has arrived
`property OnMessageError: TMessageQueueEvent; [rw]` |  | Event called when a new message has arrived, and the queue is full
`property OnThreadError: TNotifyEvent; [rw]` |  | Triggered when a thread reports an error
`property MaxQueue: Integer; [rw]` |  | Maximum number of messages in the queue, 0 for unlimited
`property MaxAction: TIPCMessageOverflowAction; [rw]` |  | Action to take when the number of messages will exceed MaxQueue.
`property Threaded: Boolean; [rw]` |  | Is the server running threaded or not ?
`property ThreadTimeout: Integer; [rw]` |  | Timeout waiting for message
`property SynchronizeEvents: Boolean; [rw]` |  | Should events be run in the main thread ?
`end;`

## Inheritance

`TSimpleIPCServer` |  | Simple IPC server component
`TSimpleIPC` |  | Ancestor for client/server simple IPC classes
`TComponent,IUnknown,IInterfaceComponentReference`
`TPersistent,IFPObserved`
`TObject`

## Description

TSimpleIPCServer is the server side of the simple IPC communication protocol. The server program should create a TSimpleIPCServer instance, set its ServerID property to a unique name for the system, and then set the Active property to True (or call StartServer).

After the server was started, it can check for availability of messages with the PeekMessage call, and read the message with ReadMessage.

## See also

TSimpleIPCClient |  | Simple IPC client component
TSimpleIPC |  | Ancestor for client/server simple IPC classes
TIPCServerComm |  | Internal message communication component

Documentation generated on: May 14 2021