My application is deployed as an MDE, so to perform my final testing, I
deploy it to various other computer environments. One change I tested
yesterday fails ... although the prior version of my application worked
fine!
It's being tested on a Windows 7 computer using Access 2010 (beta) ... but I
really don't think it much matters since the prior version of my application
still works fine in that environment.
Here's what happens:
I create the MDE and copy it to the Windows 7 computer. When I try to
execute the application, I receive an error 40243 ANY TIME my application's
"primary form" executes ANY function that's stored as a "module". There are
many common functions used by the application ... all are saved in modules
and called from various parts of the application.
To see if I could figure out what happened, I put a MsgBox in the primary
form just before the line of code that executes the common function. Right
after the line of code that executes the common function, I inserted another
MsgBox that displayed the Err.Number (I'm running On Error Resume Next at
this point in the code). In the common function being called, I placed a
third MsgBox ... as the first line of code. When I open the primary form,
the first MsgBox executes and I get the message displayed. Immediately
after that, I get the second MsgBox containing the error number (40243). I
never actually enter the common function ... because I never get the MsgBox
that it wantes to display.
I tried this same approach executing several common functions, and all
exhibit the same behavior and always return error 40243.
It appears I'm simply unable to execute any of my common functions! By the
way, I also have a couple of cases where I have a query that executes one of
the common functions ... they also fail (with some odd message I failed to
write down)!
When I revert to the last production version's MDE, it works fine.
I decompiled and recompiled ... and built a new MDE. It didn't help.
Nothing seemed to help. I did a compact and repair ... it didn't help
either.
So I'm presently in the process of re-applying all the source VBA changes,
starting with the prior (working) version. So far, all is working fine (I'm
about 75% done).
Anyone have any clue what's going on here?
bob
The message description is "Application-defined or object-defined error"
bob
"Bob Howard" <in...@churchtrax.com> wrote in message
news:eI$sRFz1K...@TK2MSFTNGP04.phx.gbl...
Check the shaded area in the upper right hand of Allen Browne's
http://www.allenbrowne.com/Access2007.html if you're not sure.
--
Doug Steele, Microsoft Access MVP
http://www.AccessMVP.com/DJSteele
(no e-mails, please!)
"Bob Howard" <in...@churchtrax.com> wrote in message
news:eI$sRFz1K...@TK2MSFTNGP04.phx.gbl...
I think I have a lead on the problem, however. And it appears to be way out
there in left (possible right) field.
I have experienced a different sort of "issue" with the application ... and
this one is definitely related to "References". The MDB has a Reference set
to an external software package called BullZIP that is considered an
"optional" part of the application. I can tell internally whether the
computer on which the MDE runs contains BullZIP ... and if not, I don't
allow the user to click certain buttons that would cause it to call upon
BullZIP.
In my code, I need to have a BullZIP Reference set so I can compile the
following statement:
Dim BullZIPObject As New Bullzip.PDFPrinterSettings
I have 4 computers I use for the application ... one for
development/testing, and the other three for testing (all different
environments of Windows, Access versions, etc.).
When I create an MDE (on the development computer) and then try to run it on
a test computer that does not have BullZIP installed, many things go haywire
in the application. And I get all sorts of errors that point me to my
References. For example, I have some queries containing a Trim() function,
and they all throw an error! When I go back to the development computer and
comment out all the above Dim statement, and comment out any other
statements that depend on it, and remove the BullZIP Reference, and then
create the MDE, and then test that MDE on a computer without BullZIP ... the
queries work!
I should add that at no time did I actually execute any of the BullZIP code
in the program as it's code planned for the future. I simply had a
Reference and code that refers to it and have it compiled.
I'm thinking that the Reference to a non-existent external piece of
software, even though I don't execute that portion of the code, is throwing
off other aspects of the application that depend on their own References.
If I'm correct in this, then it seems that the solution if for me to code
something at startup time that detects whether BulZIP is installed or not
... and if not, internally removes the reference.
All this performed within the MDE.
Is this possible? Is this the way to go? Any help on how I could code
this?
Thanks....
bob
"Douglas J. Steele" <NOSPAM_djsteele@NOSPAM_gmail.com> wrote in message
news:%23ckUPh%231KH...@TK2MSFTNGP04.phx.gbl...
Dim BullZIPObject As Object
Set BullZIPObject = CreateObject("Bullzip.PDFPrinterSettings")
??
bob
"Bob Howard" <in...@churchtrax.com> wrote in message
news:ur7cH8n...@TK2MSFTNGP04.phx.gbl...
"Bob Howard" <in...@churchtrax.com> wrote in message
news:uBO$VCo2KH...@TK2MSFTNGP04.phx.gbl...
Yes, that should work.
--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no private e-mails, please)
"Bob Howard" <in...@churchtrax.com> wrote in message
news:uBO$VCo2KH...@TK2MSFTNGP04.phx.gbl...
"Douglas J. Steele" <NOSPAM_djsteele@NOSPAM_gmail.com> wrote in message
news:usvIofo2...@TK2MSFTNGP04.phx.gbl...