[AccessD] 32->64 bit

Bill Benson bensonforums at gmail.com
Thu Nov 4 17:22:02 CDT 2021


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
>


More information about the AccessD mailing list