| Unit MsgSock |
| Classes |
| Functions |
Register - * Register
| Types |
| Constants |
| Variables |
| Functions |
| Types |
TMessageEvent = procedure( Sender: TObject;
const MessageID: Word;
const SourceHandle: Hwnd;
const DataPtr: Pointer;
const DataSize: Word) of object
****************************************************************************
-- Property - published
PostSupport: read/write Boolean
Il valore true abilita la gestione degli scambi di messaggi
asincroni, in caso sono gestiti solo quelli sincroni.
LowMessageID: read/write Word
HighMessageID: read/write Word
Vengono gestiti solo i messaggi con identificatori tra
LowMessageID e HighMessageID. Il valore LowMessageID è
riservato a BroadcastIdentity e non deve essere usato con
SendMessage e PostMessage.
OnSentMessage: read/write TMessageEvent
Event handler per l'evento SentMessage.
OnPostedMessage:read/write TMessageEvent
Event handler per l'evento PostedMessage.
******************************************************************************} {******************************************************************************
-- Event SentMessage
E' attivato a seguito della presenza di un messaggio inviato con SendMessage.
La thread entro cui è stata chiamata SendMessage è sospesa fino al termine
dell'handler o alla chiamata a MessageHandled.
-- Parametri
Sender: in TObject
Ogggetto attivante l'evento.
MessageID: in Word
Identificatore del messaggio.
SourceHandle: in Hwnd
Handle del TMessageSocket tramite cui è stato inviato il
messaggio. Può essere utilizzato per inviare una risposta.
DataPtr: in Pointer
Puntatore ai dati del messaggio.
DataSize: in Word
Size dei dati del messaggio.
******************************************************************************} {******************************************************************************
-- Event PostedMessage
E' attivato a seguito della presenza di un messaggio inviato con PostMessage.
La thread entro cui è stata chiamata PostMessage non è sospesa.
-- Parametri
Sender: in TObject
Ogggetto attivante l'evento.
MessageID: in Word
Identificatore del messaggio.
SourceHandle: in Hwnd
Handle del TMessageSocket tramite cui è stato inviato il
messaggio. Può essere utilizzato per inviare una risposta.
DataPtr: in Pointer
Puntatore ai dati del messaggio.
DataSize: in Word
Size dei dati del messaggio.
******************************************************************************} {******************************************************************************
-- method RunTimeCreate
Con RunTimeCreate si può creare un componente TMessageSocket passandogli i
valori da assegnare alle property principali. Questo può essere necessario
in quanto tali property possono essere modificate solo a design time.
-- Parametri
AOwner: in TComponent
Owner del componente. Se correttamente assegnate il
componente viene automaticamente distrutto al termine
dell'applicazione.
PostThreadPriority: in TThreadPriority
PostSupport: in Boolean
LowMessageID: in Word
HighMessageID: in Word
Valori da assegnare alle property.
******************************************************************************} {******************************************************************************
-- method PostSupported
Permette di verificare se un componente TMessageSocket cui si vuole inviare un
messaggio è in grado di gestire scambi di messaggi asincroni.
-- Parametri
Handle: in Hwnd
Handle ottenuto da un evento SentMessage o PostedMessage.
Result: out Boolean
Se true il componente corrispondente all'handle può gestire
scambi di messaggi asincroni.
******************************************************************************} {******************************************************************************
-- method BroadcastIdentity
Tramite BroadcastIdentity si notifica la presenza di un componente
TMessageSocket utilizzando un messaggio di broadcast. Questo provoca da parte
dei componenti entro altri processi che hanno lo stesso valore di LowMessageID
l'invio di messaggi cui corrisponde l'attivazione di SentMessage. Nell'handler
MessageID è pari a LowMessageID, SourceHandle è l'handler del componente da
cui proviene la risposta, DataPtr è nil e DataSize è 0.
******************************************************************************} {******************************************************************************
-- method SendMessage
SendMessage permette di inviare un messaggio a un componente TMessageSocket.
L'invio è sincrono, quindi SendMessage termina dolo dopo il completamento
dell'esecuzione dell'evento SentMessage del componente di destinazione o dopo
che entro di esso sia stato chiamato MessageHandled.
-- Parametri
MessageID: in Word
Identificatore per il messaggio. Deve essere maggiore di
LowMessageID e minore o uguale a HighMessageID.
DestinationHandle: in Hwnd
Handle del componente TMessageSocket a cui si vuole inviare
il messaggio.
DataPtr: in Pointer
Puntatore ai dati che si vogliono trasmettere con il
messaggio.
DataSize: in Word
Size dei dati che si vogliono trasmettere con il messaggio.
******************************************************************************} {******************************************************************************
-- method PostdMessage
PostMessage permette di inviare un messaggio a un componente TMessageSocket.
L'invio è asincrono, quindi PostMessage termina prima del completamento
dell'esecuzione dell'evento PostMessage del componente di destinazione.
-- Parametri
MessageID: in Word
Identificatore per il messaggio. Deve essere maggiore di
LowMessageID e minore o uguale a HighMessageID.
DestinationHandle: in Hwnd
Handle del componente TMessageSocket a cui si vuole inviare
il messaggio.
DataPtr: in Pointer
Puntatore ai dati che si vogliono trasmettere con il
messaggio.
DataSize: in Word
Size dei dati che si vogliono trasmettere con il messaggio.
******************************************************************************} {******************************************************************************
-- method MessageHandled
Chiamata entro un handler dell'evento SentMessage segnala il completamento
dell'elaborazione del messaggio e sblocca l'esecuzione della thread che ha
inviato il messaggio. Dopo la sua chiamata i dati puntati dal parametro
DataPtr dell'evento non sono più validi.
| Constants |
| Variables |