, , , ,

Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community

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 then
   OIPImsg=The application is already running elsewhere!'
   exit...
end
Start_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

SRP Computer Solutions, Inc.


At 25 JAN 2005 05:26PM Steve Smith wrote:

http://www.revelation.com/__85256DB80017688B.nsf/0/C7609A6F7D3CFE7E85256EC7007C1565?Open


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 )

The Sprezzatura Group

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

View this thread on the Works forum...