Sign in Join
FPDoc Onlineexperiment

TAdvancedSingleInstance class

In unit AdvancedSingleInstance

Single Application instance class using file communication.

Declaration

pascal
TAdvancedSingleInstance = class(TBaseSingleInstance)

Inheritance

  1. TAdvancedSingleInstance
  2. TBaseSingleInstance
  3. TComponent
  4. TPersistent
  5. TObject

Description

TAdvancedSingleInstance is a TBaseSingleInstance descendent. It implements the required functionality using the IPC mechanism of the advancedipc unit: it uses files to communicate. This ensures the mechanism works on all platforms.

See also

Properties

IDpublicThe ID of this instance.
GlobalpublicIs the instance global (for all users) or local (for the current user).

Methods

DoServerReceivedCustomRequestprotected
GetIsClientprotected
GetIsServerprotected
GetStartResultprotected
CreatepublicCreate a new instance of TAdvancedSingleInstance.
StartpublicStart IPC communication and check the type of the application instance.
StoppublicEnd IPC communication.
ServerCheckMessagespublicCheck for incoming messages for the server.
ClientPostParamspublicPost client command-line parameters to the server.
ClientPostCustomRequestpublicSend a custom message to the server.
ClientSendCustomRequestpublicClientSendCustomRequest.
ServerPostCustomResponsepublicPost a server response to the client.
ClientPeekCustomResponsepublicCheck whether the server posted a response.

Events

OnServerReceivedCustomRequestpublicServer event triggered when a custom request is received.

Inherited

From TBaseSingleInstance (9)

Destroy DoServerReceivedParams IsClient IsServer OnServerReceivedParams SetStartResult StartResult TimeOutMessages TimeOutWaitForInstances

From TComponent (74)

_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 Loaded 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.