Class TMessageSocket (unit MsgSock) |
Inherits from
TComponent
constructor Create(AOwner: TComponent);
- -- constructor Create
Con Create si crea il componente e la associata SendWindow.
constructor RunTimeCreate( AOwner: TComponent;
const PostThreadPriority: TThreadPriority;
const PostSupport: Boolean;
const LowMessageID: Word;
const HighMessageID: Word);
- A Design time la PostThread non viene creata e quindi non va distrutta
procedure BroadcastIdentity;
destructor Destroy;
-- destructor Destroy
Con Destroy si distrugge il componente, la associata SendWindow, l'eventuale PostThread
e la lista con gli handler dei componenti da cui sono arrivate risposte alla BroadcastIdentity.
procedure MessageHandled;
Si invia un messaggio WM_Datacopy all'handle ottenuto con la PostHandle a
partire dall'handle corrispondente ad un componente TMessageSocket, con
WParam si trasferisce l'handle del componente da cui proviene il messaggio
procedure PostMessage(const MessageID: Word;
const DestinationHandle: Hwnd;
const DataPtr: Pointer;
const DataSize: Word);
Si invia un messaggio WM_Datacopy all'handle corrispondente ad un componente
TMessageSocket, con WParam si trasferisce l'handle del componente da cui proviene il messaggio
function PostSupported(const Handle: Hwnd): Boolean;
L'uguaglianza dei due handle segnala l'assenza di supporto dei messaggi asincroni
procedure SendMessage(const MessageID: Word;
const DestinationHandle: Hwnd;
const DataPtr: Pointer;
const DataSize: Word);
La lista con gli handler dei componenti da cui in precedenza
sono arrivate risposte alla BroadcastIdentity va eliminata
procedure Loaded;
-- procedure Loaded
Al caricamento del componente si crea, se richiesto, la PostThread.
function PostHandle(const SendHandle: Hwnd): Hwnd;
-- function PostHandle
Dato l'handle di un componente TMessageSocket restituisce il corrispondente
handle della PostWindow cui devono essere inviati i messaggi asincroni.
procedure SendWindowProc(var Msg: TMessage);
* TMessageSock **************************************************************} {-- procedure SendWindowProc
Window procedure della window associata al componente.
procedure SetHighMessageID(ID: Word);
procedure SetLowMessageID(ID: Word);
-- procedure SetLowMessageID/SetHighMessageID
Tramite esse si blocca l'assegnamento di valori illegali a LowMessageID e HighMessageID.
procedure SetPostThreadPriority(Priority: TThreadPriority);
-- procedure SetPostThreadPriority
Tramite essa si blocca l'assegnamento di valori illegali a PostThreadPriority
property HighMessageID : Word
property LowMessageID : Word
property PostSupport : Boolean
property PostThreadPriority : TThreadPriority
event OnPostedMessage : TMessageEvent
event OnSentMessage : TMessageEvent
FHighMessageID : Word;
FLowMessageID : Word;
FOnPostedMessage : TMessageEvent;
FOnSentMessage : TMessageEvent;
FPostSupport : Boolean;
FPostThreadPriority : TThreadPriority;
HandlesList : Pointer;
Handle della window associata alla PostThread
PostThread : TThread;
PostWindow : Hwnd;
Handle della window associata al componente, è usata per identificare il componente stesso
SendWindow : Hwnd;
constructor Create(AOwner: TComponent);
-- constructor Create
Con Create si crea il componente e la associata SendWindow.
constructor RunTimeCreate( AOwner: TComponent;
const PostThreadPriority: TThreadPriority;
const PostSupport: Boolean;
const LowMessageID: Word;
const HighMessageID: Word);
A Design time la PostThread non viene creata e quindi non va distrutta
procedure BroadcastIdentity;
destructor Destroy;
-- destructor Destroy
Con Destroy si distrugge il componente, la associata SendWindow, l'eventuale PostThread
e la lista con gli handler dei componenti da cui sono arrivate risposte alla BroadcastIdentity.
procedure MessageHandled;
Si invia un messaggio WM_Datacopy all'handle ottenuto con la PostHandle a
partire dall'handle corrispondente ad un componente TMessageSocket, con
WParam si trasferisce l'handle del componente da cui proviene il messaggio
procedure PostMessage(const MessageID: Word;
const DestinationHandle: Hwnd;
const DataPtr: Pointer;
const DataSize: Word);
Si invia un messaggio WM_Datacopy all'handle corrispondente ad un componente
TMessageSocket, con WParam si trasferisce l'handle del componente da cui proviene il messaggio
function PostSupported(const Handle: Hwnd): Boolean;
L'uguaglianza dei due handle segnala l'assenza di supporto dei messaggi asincroni
procedure SendMessage(const MessageID: Word;
const DestinationHandle: Hwnd;
const DataPtr: Pointer;
const DataSize: Word);
La lista con gli handler dei componenti da cui in precedenza
sono arrivate risposte alla BroadcastIdentity va eliminata
procedure Loaded;
-- procedure Loaded
Al caricamento del componente si crea, se richiesto, la PostThread.
function PostHandle(const SendHandle: Hwnd): Hwnd;
-- function PostHandle
Dato l'handle di un componente TMessageSocket restituisce il corrispondente
handle della PostWindow cui devono essere inviati i messaggi asincroni.
procedure SendWindowProc(var Msg: TMessage);
* TMessageSock **************************************************************} {-- procedure SendWindowProc
Window procedure della window associata al componente. Essa gestisce
direttamente i messaggi sincroni e indirettamente, tramite PostThread,
quelli asincroni attivando i corrispondenti eventi. Essa provvede inoltre
direttamente alla risposta al messaggio inviato dalla BroadcastIdentity.
procedure SetHighMessageID(ID: Word);
procedure SetLowMessageID(ID: Word);
-- procedure SetLowMessageID/SetHighMessageID
Tramite esse si blocca l'assegnamento di valori illegali a LowMessageID e HighMessageID.
procedure SetPostThreadPriority(Priority: TThreadPriority);
-- procedure SetPostThreadPriority
Tramite essa si blocca l'assegnamento di valori illegali a PostThreadPriority
property HighMessageID : Word
property LowMessageID : Word
property PostSupport : Boolean
property PostThreadPriority : TThreadPriority
event OnPostedMessage : TMessageEvent
event OnSentMessage : TMessageEvent
FHighMessageID : Word;
FLowMessageID : Word;
FOnPostedMessage : TMessageEvent;
FOnSentMessage : TMessageEvent;
FPostSupport : Boolean;
FPostThreadPriority : TThreadPriority;
HandlesList : Pointer;
Handle della window associata alla PostThread
PostThread : TThread;
PostWindow : Hwnd;
Handle della window associata al componente, è usata per identificare il componente stesso
SendWindow : Hwnd;