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

At 14 OCT 2002 01:23:50PM Donald Bakke wrote:

I believe this subject has been discussed before but I would like (translation: client is requiring me) to look at this again. Here is what we need to try to get done in both OI16 and OI32:

1. We need to display a splash screen for a fixed amount of time rather than just the time it takes for OI to load (which has become very short due to faster machines and a faster OI.)

2. We need to display a hi-res image without the image looking distorted.

Okay, with #1 it has been suggested in the past to display an OI window with a BITMAP control on it. This is fine except that we don't know how to avoid the display of the true splash screen. Furthermore, on slower machines it might take a while before this form actually gets launched (although we are less concerned about that.) Some have suggested using the so-called transparent bitmap file as the splash screen instead. However, since this is really just a 1x1 pixel bitmap it can be seen quite easily, especially if the desktop is a solid contrasting color.

With #2 we realize that hi-res images don't work well with OI16 but they work fine with OI32. Fortunately we discovered that hi-res images stored in a DLL actually display pretty well. This is how we get OI16 to handle these images. However, we have not found a way to force OI to use a DLL image for its splash screen. It would appear that OILOGON.BMP is hardcoded. (Note: we don't rely on the OINSIGHT.INI file to point to an alternate image because this file can easily be erased or overwritten.)

I know that if the OILOGON.BMP file is missing then a gray window appears instead. Where does this window come from? Is it a resource somewhere that can be altered?

Please let me know what we can do.

Thanks,

dbakke@srpcs.com

SRP Computer Solutions, Inc.


At 14 OCT 2002 05:47PM Oystein Reigem wrote:

Don,

Here's a suggestion so stupid I think it might work: Make an app with a different tool than OpenInsight. Let the app have a form showing the hi-res image and nothing else. Set the form to be always on top. Make it appear in the middle of the screen at startup. Let that app start OpenInsight, then wait some time, then close.

When you say the image is hi-res I suspect you mean 24-bit and not so much of a large size (height and width). OI16 has problems with displaying 24-bit images, including the splash screen. But are you sure you cannot convert that image to a 256 colour image of sufficient quality? You're not restricted to 256 fixed colours. A paint program might be able to choose the best 256 colours (the ones used most in the image), and if necessary dither the rest of the image area.

- Oystein -


At 14 OCT 2002 06:24PM Donald Bakke wrote:

Oystein,

Here's a suggestion so stupid I think it might work: Make an app with a different tool than OpenInsight. Let the app have a form showing the hi-res image and nothing else. Set the form to be always on top. Make it appear in the middle of the screen at startup. Let that app start OpenInsight, then wait some time, then close.

We thought about that but would like to consider this as an absolute last resort. Although we haven't tested it yet we suspect that OI will still put its own splash on top of the launcher application's window. Perhaps there are ways around this too, but this seems like the most work to get a (hopefully) simple effect.

When you say the image is hi-res I suspect you mean 24-bit and not so much of a large size (height and width). OI16 has problems with displaying 24-bit images, including the splash screen. But are you sure you cannot convert that image to a 256 colour image of sufficient quality? You're not restricted to 256 fixed colours. A paint program might be able to choose the best 256 colours (the ones used most in the image), and if necessary dither the rest of the image area.

Right, 24-bit image. We've tried to take it down to 256 colors (best match) but our blended shades get lost. BTW, this is the client's design so we have no say in the matter. OI16 seems to display 24-bit images fine if they are loaded from a resource DLL. I don't know why, but everytime we've displayed an image this way it looks great.

I am hoping Pat has something magical he can pull out of the hat on this. I see him posting but I don't know if he's read this yet.

dbakke@srpcs.com

SRP Computer Solutions, Inc.


At 14 OCT 2002 08:46PM Pat McNerthney wrote:

Don,

Sorry, I was trying to ignore this one :)
First off, OI16 has an outright bug in it's handling of images loaded from files.  In it's use of the ImageMan dlls, it calls one if it's api with a width and height off exactly one pixel.  Something like it should have used a 1 but passed 0 (or the other way around).  All file based images are loaded this way, including the splash screen.  When OI16 loads a resource from a dll, it does not use ImageMan and thus does not mess up the images.
Second, the way OI (16 and 32) look for startup splash screens is by checking to see if certain files exist, forcing the use of a file for the splash screen and not a dll resource.
So I am sorry to say that I definately do not have any brillant ideas for OI16 or the current version of OI32 for that matter.  I have heard putting a 1 pixel by 1 pixel bitmap in place to at least not appear to display anything during the splash, and then you could display your own splash screen when appropriate.

Pat


At 14 OCT 2002 11:25PM Donald Bakke wrote:

Pat,

I have heard putting a 1 pixel by 1 pixel bitmap in place to at least not appear to display anything during the splash, and then you could display your own splash screen when appropriate.

Unfortunately it does display that pixel…sometimes it is more or less noticeable. Anyway, I thank you for responding. At least I don't have to worry about wondering if I overlooked a possible "better" solution. We'll probably go with the 1 x 1 pixel solution and put up our own window instead.

dbakke@srpcs.com

SRP Computer Solutions, Inc.


At 15 OCT 2002 01:51AM Pat McNerthney wrote:

Don,

Have you tried putting in place a zero byte length file?  OI on startup just checks for the file's existance, and then tries to display that one.  You just might get it to display nothing this way.

Pat


At 15 OCT 2002 03:02AM Oystein Reigem wrote:

Don,

we suspect that OI will still put its own splash on top of the launcher application's window

If it weren't for the fact the OI splash gets shown with a black border you could work around that problem by using an OI splash that matched the middle area of the client's splash. But you would notice the black border unless you are so lucky the middle of the client's splash is black.

- Oystein -


At 15 OCT 2002 03:13AM Oystein Reigem wrote:

Pat,

I tried with a zero byte length file. That makes the default icon display instead (ICONS\DEFAULT.ICO). (With a black border as usual.)

- Oystein -


At 15 OCT 2002 03:54AM Pat McNerthney wrote:

Well, do you need ICONS\DEFAULT.ICO for anything? How about deleting it?

Pat


At 15 OCT 2002 07:08AM Oystein Reigem wrote:

Pat,

I now did two experiments.

First I deleted ICONS\DEFAULT.ICO. But it didn't make any difference.

Then I changed its content to something else. Same result.

So it seems OI gets that image from somewhere else. Or maybe ImageMan does. Maybe it's ImageMan's default image.

I did my experiments in OI 3.7.1.

- Oystein -


At 15 OCT 2002 09:24AM Donald Bakke wrote:

First I deleted ICONS\DEFAULT.ICO. But it didn't make any difference. Then I changed its content to something else. Same result. So it seems OI gets that image from somewhere else. Or maybe ImageMan does. Maybe it's ImageMan's default image.

The default "icon" exists as an icon and as a bitmap in the OINSIGHT.EXE file. I'm certain it gets pulled from there. I appreciate your experimenting with this.

dbakke@srpcs.com

SRP Computer Solutions, Inc.


At 15 OCT 2002 10:07AM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:

How about just resource hacking the bitmaps to what you want them to be?

The Sprezzatura Group

World Leaders in all Things RevSoft


At 15 OCT 2002 10:59AM Donald Bakke wrote:

Considered that but then I couldn't control how long it displays…which was another requirement. I'll be experimenting with a variety of combinations today and will post what I think is the best one.

Thanks,

dbakke@srpcs.com

SRP Computer Solutions, Inc.


At 16 OCT 2002 02:07PM Donald Bakke wrote:

I'll be experimenting with a variety of combinations today and will post what I think is the best one.

Okay, the final solution was to go ahead an make a 1 x 1 pixel OILOGON.BMP file and launch our own borderless OI window with the splash image. This window displays for 4 seconds and then closes itself. Because the image is being loaded from a DLL it displays quite nicely.

I tried the route of hacking the resource in OINSIGHT.EXE and creating a zero-byte length OILOGON.BMP. The splash came up fine but it disappears too quickly (as expected). We tried using this method and using our OI form but there is a noticable delay between the original splash screen coming down and the OI form being drawn on the screen. The 1 x 1 pixel image is small enough where the client doesn't think it will be noticed on most machines.

BTW, we also wrote an EXE that display a splash screen while launching OI in the background. This worked pretty well. However, we found out later on that this application gets called from several third-party applications with hardcoded command lines (i.e. OINSIGHT.EXE /AP=whatever /UN=whatever). It would be too much work to get all of these third-party programs to switch to calling our EXE launcher utility.

Thanks again for everyone's help with this.

dbakke@srpcs.com

SRP Computer Solutions, Inc.


At 16 OCT 2002 02:23PM Pat McNerthney wrote:

Don,

BTW, we also wrote an EXE that display a splash screen while launching OI in the background. This worked pretty well. However, we found out later on that this application gets called from several third-party applications with hardcoded command lines (i.e. OINSIGHT.EXE /AP=whatever /UN=whatever). It would be too much work to get all of these third-party programs to switch to calling our EXE launcher utility.

Well, you could rename OINSIGHT.EXE to something else and call your wrapper OINSIGHT.EXE, which then calls the renamed OINSIGHT.EXE forwarding it's command line parameters.

Pat


At 16 OCT 2002 07:02PM Donald Bakke wrote:

Pat,

Well, you could rename OINSIGHT.EXE to something else and call your wrapper OINSIGHT.EXE, which then calls the renamed OINSIGHT.EXE forwarding it's command line parameters.

There are way too many installations of this application out there. To swap the .EXE's like that we'd need to update everybody with an installation package rather than through the normal on-line update process which exists now. Occasionally we package new major releases in a new InstallShield setup (which is exactly what we'll do when we upgrade this app to OI32) but until then this won't get changed. It's a good idea though and I may suggest it for OI32.

Thanks,

dbakke@srpcs.com

SRP Computer Solutions, Inc.

View this thread on the Works forum...

  • third_party_content/community/commentary/forums_works/1e9a87e7df4014ca85256c52005f910c.txt
  • Last modified: 2023/12/30 11:57
  • by 127.0.0.1