Sign in Join
FPDoc Onlineexperiment

TSimpleIPCServer class

In unit SimpleIPC

Simple IPC server component.

Declaration

pascal
TSimpleIPCServer = class(TSimpleIPC)

Inheritance

  1. TSimpleIPCServer
  2. TSimpleIPC
  3. TComponent
  4. TPersistent
  5. 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

Properties

Queueprotected
Threadprotected
StringMessagepublicLast message as a string.
MessagepublicLast read message.
MsgTypepublicLast message type.
MsgDatapublicLast message data.
InstanceIDpublicInstance ID.
ThreadExecutingpublicIs the message thread currently executing ?
ThreadErrorpublicLast thread error.
GlobalpublishedIs the server reachable to all users or not.
MaxQueuepublishedMaximum number of messages in the queue, 0 for unlimited.
MaxActionpublishedAction to take when the number of messages will exceed MaxQueue.
ThreadedpublishedIs the server running threaded or not ?
ThreadTimeoutpublishedTimeout waiting for message.
SynchronizeEventspublishedShould events be run in the main thread ?

Methods

CommClassprotected
PushMessageprotected
PopMessageprotected
StartCommprotected
StopCommprotected
StartThreadprotected
StopThreadprotected
Activateprotected
Deactivateprotected
ProcessMessageprotected
CreatepublicCreate a new instance of TSimpleIPCServer.
DestroypublicRemove the TSimpleIPCServer instance from memory.
StartServerpublicStart the server.
StopServerpublicStop the server.
PeekMessagepublicCheck if a client message is available.
ReadMessagepublicRead message from the queue.
GetMessageDatapublicRead the data of the last message in a stream.

Events

OnMessagepublishedEvent triggered when a message arrives.
OnMessageQueuedpublishedEvent called when a new message has arrived.
OnMessageErrorpublishedEvent called when a new message has arrived, and the queue is full.
OnThreadErrorpublishedTriggered when a thread reports an error.

Fields

FIPCCommprotected

Inherited

From TSimpleIPC (10)

Active Busy CheckActive CheckInactive CheckServerID DoError Loaded PrepareServerID ServerID SystemGlobal

From TComponent (73)

_AddRef _Release BeforeDestruction CanObserve ChangeName ComObject ComponentCount ComponentIndex Components ComponentState ComponentStyle DefineProperties DesignInfo DestroyComponents Destroying ExecuteAction FindComponent FreeNotification FreeOnRelease GetChildOwner GetChildParent GetChildren GetDeltaStreams GetEnumerator GetIDsOfNames GetNamePath GetObservers GetOwner GetParentComponent GetTypeInfo GetTypeInfoCount HasParent iicrGetComponent InsertComponent Invoke IsImplementorOf Loading Name Notification ObserverAdded Observers OnGetDeltaStreams Owner PaletteCreated QueryInterface ReadDeltaState ReadDeltaStream ReadState ReferenceInterface RemoveComponent RemoveFreeNotification RemoveFreeNotifications SafeCallException SetAncestor SetChildOrder SetDesigning SetDesignInstance SetInline SetName SetParentComponent SetSubComponent Tag ToString TToStringNameMode UpdateAction Updated UpdateRegistry Updating ValidateContainer ValidateInsert ValidateRename VCLComObject WriteState

From TPersistent (5)

Assign AssignTo FPOAttachObserver FPODetachObserver FPONotifyObservers

From TObject (37)

AfterConstruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName StringMessageTable SystemHasExtendedRTTI UnitName

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.