Triggering an Event on another Oengine (OpenInsight 32-Bit)
At 25 OCT 2005 12:11:55PM Colin Rule wrote:
I would like to trigger an event on another workstation, for example to indicate that a refresh is required due to a change in the database.
I can write away a record perhaps, and use the timer event, but I would prefer something that is event driven rather than having to poll for the file on a timer and have continuous reads.
Does anyone know if there is a way I can trigger such an event.
Thanks
Colin
At 25 OCT 2005 12:48PM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
Events are Windows messages and therefore local to the Workstation. What you could do is run a routine on the remote engine when something changes on this workstation. You'd need to keep track of the IP addresses and Server Names of the other Workstation engines of course - perhaps update a central record on login.
World leaders in all things RevSoft
At 25 OCT 2005 01:17PM [email protected]'s Don Bakke wrote:
Colin,
To tag along to Sprezz's comments, one way of doing this would require the following conditions:
- When each workstation launches OpenInsight it should launch an out-of-process engine so it can receive remote requests.
- Each workstation must also allow this remote engine to be communicated to (e.g. open port).
- Create a stored procedure that this remote engine will execute. It uses the PostMessage API to send a custom message to the running application (you will need to store off the handle to the window in order to do this.)
- This custom message will turn into a WINMSG event which you can then respond to as you see fit.
This all works (I had recently designed a system to use this exact setup) but it seems like a lot of work for what you actually get out of it. A better solution would be if OpenInsight could work with instant messaging technology. There are third-party components (ActiveX controls) that support this so in theory you could integrate this.
Our Application Launcher utility does something similar. When it is executed it will send a message to a hidden OLE control on a form. This will result in an OLE event that the developer can trap. We intended this feature to 1.) disallow multiple instances of the application, and 2.) to send the running application a signal in case the developer wants something to be done in response. I suppose we could update the launcher to support some form of instant message and then this would all work pretty seamlessly. Hmmm….
At 26 OCT 2005 03:23AM Colin Rule wrote:
Don
Thanks for your detailed response.
It does seem like a lot of work for what you get.
I will raise a log with Revelation to the enhancements page for the future… and hope.
Maybe with OI 7 there could be some external controls that look for some trigger and I could use this.
Colin