Unit MsgSock

Classes

TMessageSocket -

Functions

Register - * Register

Types

TMessageEvent

Constants

Variables


Functions


procedure Register;

* Register

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