[AccessD] 32->64 bit

Rocky Smolin rockysmolin2 at gmail.com
Thu Nov 4 22:06:34 CDT 2021


If those public APIs were in the front end, and that copy of the front end
was not shared by multiple users (something which I have taken great pains
to teach my users - each user GETS THEIR OWN COPY), the I should think that
would not be a problem.  If multiple users are using the same copy of the
front end, then there could certainly be problems but those would not be
the worst of their problems.

r

On Thu, Nov 4, 2021 at 5:23 PM Bill Benson <bensonforums at gmail.com> wrote:

> Although… on second thought…
>
> I have begun wondering if multiple calls to a public declared API in a
> single call stack might possibly end up altering variable states that need
> to staty unchanged until the end of calling routines, causing them to have
> to be set again or risk crashes.
>
> Cannot think of any routines I have built that would cause such unintended
> outcome but maybe it could happen.
>
>
>
> On Thu, Nov 4, 2021 at 7:07 PM Rocky Smolin <rockysmolin2 at gmail.com>
> wrote:
>
> > I have a module called Publics which has all of my handy functions - like
> > browse for file, browse for folder, screen resizing etc. I copy it into
> any
> > new app I create. Handy.  I have another one that has the back end
> > relinking  routines, which I use in almost all my apps. Ok used to use.
> > I'm on my last two clients.
> >
> > r
> >
> > On Thu, Nov 4, 2021 at 3:22 PM Bill Benson <bensonforums at gmail.com>
> wrote:
> >
> > > I have never seen the benefit of declaring Windows APIs privately and
> > > duplicating the declarations in several places. Could someone explain
> how
> > > things would go wrong if declared public? It might make code less
> modular
> > > that’s for sure, as the temptation will grow over time to collect more
> > and
> > > more of them in a single module and then never be able to disentangle
> > them.
> > > But if you are not so foolish, and just want to have one central std
> > module
> > > with the APIs that all your form and other type modules need to call
> in a
> > > particular project, what is the problem with a public declaration? Not
> > > saying there isn’t any, I am asking sincerely for information where
> that
> > > fails in the real world, not some awkwardly contrived coding scenario
> > > created just to prove a point.
> > >
> > > On Thu, Nov 4, 2021 at 12:50 PM Jim Dettman via AccessD <
> > > accessd at databaseadvisors.com> wrote:
> > >
> > > >
> > > >
> > > > It’s best practice to always limit the scope, and they probably
> didn’t
> > > use
> > > > it outside of the module, so they marked it private.
> > > >
> > > >
> > > >
> > > > Jim.
> > > >
> > > >
> > > >
> > > > From: Arthur Fuller
> > > > Sent: Thursday, November 4, 2021 12:35 PM
> > > > To: Access Developers discussion and problem solving <
> > > > accessd at databaseadvisors.com>
> > > > Cc: Jim Dettman <jimdettman at verizon.net>
> > > > Subject: Re: [AccessD] 32->64 bit
> > > >
> > > >
> > > >
> > > > Jim,
> > > >
> > > > I know that. I'm just a bit puzzled why Getz et.al <http://et.al> .
> > > chose
> > > > to set it up that way in all the BAS files in their book.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Thu, Nov 4, 2021 at 11:40 AM Jim Dettman via AccessD <
> > > > accessd at databaseadvisors.com <mailto:accessd at databaseadvisors.com> >
> > > > wrote:
> > > >
> > > >
> > > >  That's something that pertains to scope, not 32/64 bit.
> > > >
> > > >  Private just means that the declare can only be called from the
> module
> > > > it's
> > > > in.  Public would be the opposite, where it can be called from
> > anywhere.
> > > >
> > > >  Here's a link that covers it:
> > > >
> > > >
> > > >
> > >
> >
> https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-starte
> > > > <
> > > >
> > >
> >
> https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-started/understanding-scope-and-visibility
> > > >
> > > >
> > > > d/understanding-scope-and-visibility
> > > >
> > > > Jim.
> > > >
> > > > -----Original Message-----
> > > > From: AccessD On Behalf Of Arthur Fuller
> > > > Sent: Thursday, November 4, 2021 10:38 AM
> > > > To: Access Developers discussion and problem solving
> > > > <accessd at databaseadvisors.com <mailto:accessd at databaseadvisors.com>
> >
> > > > Subject: [AccessD] 32->64 bit
> > > >
> > > > This is more work than I had hoped. Also confusing. A bunch of the
> code
> > > I'm
> > > > trying to upgrade comes frm Access 2000 Developers Handbook (Getz,
> > Liwin
> > > > et. a.) All the code I gpt from there declares the API stuff like
> this:
> > > >
> > > > Private Declare Function xyz
> > > >
> > > > I don't understand the use of "Private" in this context.
> > > >
> > > > the Win32API_PtrSafe.txt file doesn't use the Private word. Instead
> the
> > > >
> > > > declarations look like this:
> > > >
> > > >  #If VBA7 Then
> > > >   Declare PtrSafe Function SetTimer Lib "user32" (ByVal hWnd As
> > LongPtr,
> > > > ByVal nIDEvent As LongPtr, ByVal uElapse As Long, ByVal lpTimerFunc
> As
> > > > LongPtr) As LongPtr
> > > > #Else
> > > >   Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal
> > > > nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
> As
> > > Long
> > > > #End If
> > > >
> > > > --
> > > > Arthur
> > > > --
> > > > AccessD mailing list
> > > > AccessD at databaseadvisors.com <mailto:AccessD at databaseadvisors.com>
> > > > https://databaseadvisors.com/mailman/listinfo/accessd
> > > > Website: http://www.databaseadvisors.com
> > > >
> > > > --
> > > > AccessD mailing list
> > > > AccessD at databaseadvisors.com <mailto:AccessD at databaseadvisors.com>
> > > > https://databaseadvisors.com/mailman/listinfo/accessd
> > > > Website: http://www.databaseadvisors.com
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > >
> > > > Arthur
> > > >
> > > >
> > > >
> > > > --
> > > > AccessD mailing list
> > > > AccessD at databaseadvisors.com
> > > > https://databaseadvisors.com/mailman/listinfo/accessd
> > > > Website: http://www.databaseadvisors.com
> > > >
> > > --
> > > AccessD mailing list
> > > AccessD at databaseadvisors.com
> > > https://databaseadvisors.com/mailman/listinfo/accessd
> > > Website: http://www.databaseadvisors.com
> > >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > https://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> https://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>


More information about the AccessD mailing list