[AccessD] Access97 on W2000 crashes

Shamil Salakhetdinov shamil at users.mns.ru
Tue Jan 10 06:56:52 CST 2006


Amdy,

You probably have ".DLL hell" kind of problem.

If decompile and then Syscmd(504, 16483) works on target PCs then decompile
and make MDE on target PC should also work.

Compiled and saved MDB on your development PC crashes on the users PC
because they have some .DLLs with broken compatibility - in this case
internally the function call is done based on the binary call context
existing on your PC against incompatible binary call context existing on the
target users PC - CRASH....

I still think that logging is the only solution here to find and fix the
problematic code line(s) - usually this is something like default property
name skipped and the default property name can't be skipped or is different
in the new DLLs installed on the target PCs....

If you will not find and fix problematic code line(s) then you'll leave the
"time bomb" inside your app...

Try to run this function on your development PC and on target users PC to
get the list of references:

Public Function ListRefs()
Dim eref As Reference
    For Each eref In References
        With eref
          Debug.Print _
             .Name & "." & .Major & "." & .Minor; _
            " " & .Kind & " " & .BuiltIn; _
            " " & .IsBroken
          Debug.Print vbTab & .FullPath
          Debug.Print vbTab & .Guid
          Debug.Print vbTab & .IsBroken
        End With
    Next eref
End Function

You will probably get the same results - the problematic DLL could be the
one of the referenced/used by the DLLs, which are directly referenced from
your program MDB...

Shamil

----- Original Message ----- 
From: "Andy Lacey" <andy at minstersystems.co.uk>
To: "Access Developers discussion and problem solving"
<accessd at databaseadvisors.com>
Sent: Tuesday, January 10, 2006 3:15 PM
Subject: Re: [AccessD] Access97 on W2000 crashes


> Well it's not an issue anyway because the MDE route didn't work. I've
found
> something that does, however, but boy is it weird. I'd really appreciate
> some help understanding this.
>
> The following works every time. On the W2K machine I decompile the app. I
> then run the app but compile at the start of it with a Syscmd(504, 16483).
> It runs perfectly.
>
> However as soon as I exit the app and try to run it again it crashes
again.
> If I test for IsCompiled and only run the Syscmd if not compiled then the
> app skips the syscmd but then crashes in the original area. If I omit the
> IsCompiled and just try to run the Syscmd regardless then it crashes on
> that.
>
> If I manually compile and save the app then run it from an icon it fails.
If
> I make an MDE of it, it fails. The *only* way I can get it to run
> consistently is as I describe above; decompile, exit, compile on the way
in.
>
> What on earth is going on here????? Does anyone have the faintest idea? At
> the moment (unless someone knows a way of decompiling with code) the only
> solution I can see is to make the icon copy a decompiled version of the
MDB
> over the 'live' one, then run with that compilation at the start. But as a
> regular method of running it sucks. Any help VERY gratefully received.
> --
> Andy Lacey
> http://www.minstersystems.co.uk
>
>
>
>
> --------- Original Message --------
> From: "Access Developers discussion and problem solving"
> <accessd at databaseadvisors.com>
> To: "Access Developers discussion and problem solving"
> <accessd at databaseadvisors.com>
> Subject: Re: [AccessD] Access97 on W2000 crashes
> Date: 10/01/06 11:29
>
>
> Andy,
>
> If you:
>
> 1. Do not change references on runtime;
> 2. Do not create forms/reports on runtime;
> 3. Do not allow your users to change design of your forms/reports on
design
> time and to edit your code -
>
> then your app should work OK compiled into MDE.
>
> If you do change references on runtime then reconsider this part of your
> app's coding and use RefLibPaths.
>
> If you do create forms/reports on runtime or allow users to change design
of
> your forms/reports then split your monolith app's mdb into constant and
> changing parts. (This may involve quite some refactoring or go smoothly
> depending of your coding but when done this will work for sure - in one of
> the MS Access 97 apps I worked on we had one root program mdb and up to 40
> mde program components.... In your case these could be just two parts but
in
> general case any big application can/should be split into many parts
working
> together in ensemble...)
>
> Shamil
>
> ----- Original Message -----
> From: "Andy Lacey" <andy at minstersystems.co.uk>
> To: "'Access Developers discussion and problem solving'"
> <accessd at databaseadvisors.com>
> Sent: Tuesday, January 10, 2006 10:26 AM
> Subject: Re: [AccessD] Access97 on W2000 crashes
>
>
> > Interesting thought Shamil, thanks. I'll try today to see if that cures
> it.
> > However I have a horrible feeling that will open up other problems. I've
> no
> > experience with MDEs, never had the need, but have the lurking suspicion
> > that there are things you can do with MDBs that you can't with MDEs -
and
> I
> > probably do them.
> >
> > Andy
> >
> > > -----Original Message-----
> > > From: accessd-bounces at databaseadvisors.com
> > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of
> > > Shamil Salakhetdinov
> > > Sent: 09 January 2006 22:43
> > > To: Access Developers discussion and problem solving
> > > Subject: Re: [AccessD] Access97 on W2000 crashes
> > >
> > >
> > > > Yes there's just one (v large) FE. No library MDBs or MDEs.
> > > OK, if this MDB is compiled and saved then when you run it on
> > > another PC with other versions of referenced DLLs then it
> > > can/will get lost its compiled state - I have had such
> > > problem a long ago with a large MS Access frontend - and it
> > > did crash unexpectedly as in your case. The solution was to
> > > compile it into .mde...
> > >
> > > Shamil
> > >
> <<< tail skipped>>>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> ________________________________________________
> Message sent using UebiMiau 2.7.2
>
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com




More information about the AccessD mailing list