How do I detect if application already running? (OpenInsight 32-Bit)
At 25 JAN 2005 10:45:43AM Harold King wrote:
In a customer application running v4.1.2 I detect if OI is already running in the create event of the application startup MDI window as follows:
IsOIPI=trim(FindWindow( "THUNDERRT6FORMDC":\00\, 0))if IsOIPI ne 0 thenOIPImsg=The application is already running elsewhere!'exit...endStart_OIPI32(Parent)I do this because OIPI wiggs out when it's open a 2nd time. This process works good for everyone except for users in accounting. They use a package called Solomon which appears to use the VSprint (thunder…) program, too. Therefore, they can't go into OI while Solomon is open.
Is there a different way to detect if OI is already running?
Thanks,
Harold
At 25 JAN 2005 10:55AM Donald Bakke wrote:
Harold,
The typical way to detect if OI is running is to look for OpenInsight or OpenEngine using similar methods. This recent post has code to show you how to do this.
This issue was also raised here. The discussion might prove useful to you as well.
dbakke@srpcs.com
At 25 JAN 2005 05:26PM Steve Smith wrote:
At 25 JAN 2005 05:35PM Steve Smith wrote:
THUNDERFORM is the default for any program compiled in VB6.
There are quite a few out there…
At 25 JAN 2005 10:28PM Harold King wrote:
Thank you very much Steve. This is exactly what I had in mind. I'll try your solution.
Thanks again,
Harold
At 26 JAN 2005 10:03AM Harold King wrote:
Hi Steve,
Two lines similar to the ones in your example already exist in my Dll_User32 record. My record has the following:
HANDLE STDCALL GetWindow(HANDLE,UINT)
INT STDCALL GetWindowLongA(HANDLE, INT) AS GetWindowLong
Your example has the following (similar) lines:
HANDLE STDCALL GetWindow(HANDLE, ULONG)
LONG STDCALL GetWindowLongA (HANDLE, ULONG)
Should I add still add the ones from your example?
Thanks,
Harold
At 26 JAN 2005 12:19PM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
Harold,
You can just use the ones already defined for you. In Win32
UINT == ULONG
INT == LONG
The INT and UINT types were added to make future porting of the engine easier. The LONG types are explicitly 32-bits in length, while the INT types are platform dependant (e.g. on Win64 they would be 64-bits long )
World Leaders in all things RevSoft
At 31 JAN 2005 10:45AM Harold King wrote:
Hi Steve,
I ran into a problem running your program. It seems to work on my dev system, although I can't really test since it's a single user dev copy of OI (v7.01 running on WinXP). I updated the Dll_User32 record on the customer site (v4.12 running on Win98) and tried to run it, but got a windows error:
This Program has performed an illegal operation and will shut down.
If the problem persists, contact the program vendor.
Oinsight caused an invalid page fault in module Kerne32.Dll at 017f:bff7a388.
Registers:
…..
Do you know what the problem might be?
Thanks,
Harold