[programs/Win32/StickyFront2/docs/common_head.htm] StickyFront2 has been tested in a wide variety of applications and situations, but by its very nature in that it affects every program in the system, there is a much greater scope for unanticipated operation than with normal applications. The most likely problem by far will be "it doesn't work in application X" rather than crashes or things breaking, but it has been noticed during the extensive testing of StickyFront2 that some applications do really weird things which may confuse StickyFront2 sufficiently to cause it to crash that application or else cause something "weird" to happen.

StickyFront2 has been written to localise its operation to within each application - in other words, if one application crashes because of StickyFront2, no other application is affected. Hence it should be very easy to spot the application which StickyFront2 has trouble with. If after reading this troubleshooting guide you have bona-fide repeatable problems with a specific application, please feel free to fill in the bug report form.

Here are some common questions and answers:

Questions:

  1. Why does my machine run more slowly when StickyFront is running?
  2. Why do I get more screen redraws (flicker) when StickyFront is running?
  3. How do I stop all the screen redraws when entering and exiting a modal dialog box?
  4. Why can't I drop a file from explorer in order to insert its path into <wherever>?

Answers:

1. Why does my machine run more slowly when StickyFront is running?

That's a very good question, and we don't know why some people experience a noticeable slowdown when StickyFront is running whereas other people do not. StickyFront as part of patching itself in intercepts all window messages sent within the system - however, if it is not a message StickyFront is interested in (and there are only ten or so very infrequently called messages which are of interest) then extremely little code is executed. This in itself should not be noticeable when compared to the millions of wasted processor cycles caused by things like Explorer and etc.

2. Why do I get more screen redraws (flicker) when StickyFront is running?

Some applications open and then immediately shut a modal dialog box as part of their operation eg; when saving a file using a keyboard shortcut (eg; Ctrl-S) it may open a dialog, enter information for you, and close it. Normally this is so fast you don't ever see it, but because StickyFront alters the way modal dialog boxes work, the dialog will actually appear before being closed, causing screen redraw.

A big offender for this shown up during testing is MS Office 2000, in particular FrontPage 2000.

3. How do I stop all the screen redraws when entering and exiting a modal dialog box?

In short, you can't. StickyFront attempts to remove the redraw requests as they are generated through StickyFront's actions, but sometimes they slip through. Much of it depends on how the program is written to handle its window's being moved around and altered - some do redraw processing when this happens, resulting in the screen flicker you see.

If you could ask the author to stop using modal dialog boxes in their application, then StickyFront doesn't get itself involved and hence there wouldn't be a problem in the first place.

4. Why can't I drop a file from explorer in order to insert its path into <wherever>?

StickyFront only patches system "Edit" boxes. <techie> ie; all windows of global system class "Edit" </techie>. This is pretty much every writable text field in the system.

However, not all writable text fields are "Edit" boxes or derived thereof. Indeed, many writable text fields are entirely designed, created and managed by the application and hence there is no reliable way to know how to patch these successfully. Hence StickyFront leaves them alone.

One particular application which cannot be patched for drag & drop is MS Office 2000. Unfortunately it creates and manages its own explorer dialog's and for some extremely odd reason uses "RichEdit" boxes instead. The author has tried in every variation he can think of to patch "RichEdit" boxes, but for some reason just after inserting the path the entire application freezes, and there seems to be no explanation other than that clearly something in the control's handling code goes into an infinite loop. Who knows why, unless you're Microsoft?