AlternateColorDetailSection code from Lebans fails on w2k3 boxes (2nd request)

M

mat

The AlternateColorDetailSection at
http://www.lebans.com/alternatecolordetailsection.htm
is pretty neat on most pcs. But on a windows 2003 terminal server box it
does not seem to render the alternate backcolor, no matter what color I
set it to. The color depth is very good via RD on that box, so it's not
that the color can't be rendered.

I've done some more testing and it's quite interesting. The class works
fine on winxp and vista. It does not work on 2nd windows 2003 box, one
which I'm not accessing via termial services (32 bit color depth!).
I can't imagine why the class would fail based on OS?

I posted here about this two weeks ago but didn't get any replies,
hoping a repost will get some attention.
 
C

Clifford Bass

Hi,

I have never used it so this is only a guess. He does not do any error
handling in his code so something is erroring out on Windows 2003
Server--perhaps one or more of the calls to the various DLLs. Perhaps he is
trying to call some function that has been changed or is not there in that
version of Windows. Or that requires some other DLL that is not there. Or
that just is not available in the version. You could add some error
handling, see if any errors happen. Note that a number of DLL functions
return success or failure codes that should be checked also. It looks like
he does that to some extent; perhaps completely. I am not sure as I don't
want to take the time to really check.

You may decide it is just not worth the effort.

Good Luck,

Clifford Bass
 
L

Linq Adams via AccessMonster.com

When apps run fine on one machine and not on another or run fine in one
version and not when run under a newer version, the first thing you have to
think about are missing references.

Here are Doug Steele's detailed instructions on how to troubleshoot the
problem:

*** Quote ***

Any time functions that previously worked suddenly don't, the first thing to
suspect is a references problem.

This can be caused by differences in either the location or file version of
certain files between the machine where the application was developed, and
where it's being run (or the file missing completely from the target machine).
Such differences are common when new software is installed.

On the machine(s) where it's not working, open any code module (or open the
Debug Window, using Ctrl-G, provided you haven't selected the "keep debug
window on top" option). Select Tools | References from the menu bar. Examine
all of the selected references.

If any of the selected references have "MISSING:" in front of them, unselect
them, and back out of the dialog. If you really need the reference(s) you
just unselected (you can tell by doing a Compile All Modules), go back in and
reselect them.

If none have "MISSING:", select an additional reference at random, back out
of the dialog, then go back in and unselect the reference you just added. If
that doesn't solve the problem, try to unselect as many of the selected
references as you can (Access may not let you unselect them all), back out of
the dialog, then go back in and reselect the references you just unselected.
(NOTE: write down what the references are before you delete them, because
they'll be in a different order when you go back in)

For far more than you could ever want to know about this problem, check out

http://www.accessmvp.com/djsteele/AccessReferenceErrors.html

Just so you know: the problem will occur even if the library that contains
the specific function that's failing doesn't have a problem.

**** End Quote ****
 
C

Clifford Bass

Hi,

Leban's code does not require any references other than the required
two. It is just standard VBA calling out to common Windows DLLs.

Clifford Bass
 
M

mat

Hi,

Leban's code does not require any references other than the required
two. It is just standard VBA calling out to common Windows DLLs.

Clifford Bass
That's true, there are no exotic refs required by this routine, as I
mentioned to linqadams when he posted the same response to my earlier
post on the topic. I will try to follow through on your other posting,
but I don't have a lot of expertise with dll error trapping.

It kind of looks like Lebans does not show up here much any more. I
posted a note via his website too, referencing the earlier thread I
started on this, and no reply for several weeks.
 
C

Clifford Bass

Hi,

A lot of the Windows API functions return 0 when they fail; although
not all by any stretch. It looks like he checks for 0 after of number of
those calls, but does not report the failure. So where you see something
like If variable <> 0 Then ... you could add an Else (report error) part.

Of course, you could just upgrade to Access 2007 which has alternate
coloring capability built into it. The runtime is free so you would really
only need to purchase one copy for development.

Clifford Bass
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top