Drew Wutka
DWUTKA at Marlow.com
Mon Jul 16 16:52:08 CDT 2007
Ok, I have gotten to a point with the code where I can give you a sample. After this, my code is going to be very specific for the application I'm working on. I broke the system down to 3 class modules, one basic module, and a form. Here's what the components do: (the system I'm working on is the ISFE (Information Services Front End, so that's why I have things prefixed,etc with ISFE). Class: ISFEMessage: This is a class used to manage the data sent between applications. It has a message type, data collection, etc. Messaging through windows only allows two Long Integer parameters. This class creates a 'temp' window to allow for the transfer of more information (text). So it has code to create, read and destroy that temp window, and it breaks the data into a collection to be used. In my sample, the first parameter is used as the message type, the second can be used as a single datapoint, for instance, one of the things the ISFE Monitor (application I am building to support the ISFE) is going to do, is monitor for new requests. When it finds a new request, it can message the ISFE with just the Ticket Number (which is a long integer), so it doesn't need the 'temp' window process. Class: ISFEMessaging: This class is the core messaging class. It creates a window to subclass and monitor for windows messages. The first line in it's initialization code registers a unique windows message "ISFEMessage". That string can be anything. You could have 2 different systems that register their own unique message ID, and the same code will only pick up it's particular window messages. Class: ISFEMonitoring: This class does the work for messages coming through. The demo just has code for a 'pulse' which justs sends dummy messages back and for. Module: SubClassingHook: This module has a global variable for an instance of ISFEMessaging, and then has the callback procedure to hook the window used in ISFEMessaging. Form: Just sample code to show how to use the above four objects. I'll send an email with the source for each of these. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Friday, July 13, 2007 6:42 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Talking between Applications. I've done something similar a few years back in PowerBuilder, but would love a look at your method. I don't have any immediate use for it, but this old dog does like to learn occasional new tricks. Arthur The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited.