[AccessD] Changing VBA code for 64 bit compatibility

Steve Schapel steve at datamanagementsolutions.biz
Sat Mar 9 17:02:52 CST 2024


Thanks a lot, Jim.  That is very helpful.

Regards
Steve


On 10/03/2024 1:56:47 am, "Jim Dettman via AccessD" 
<accessd at databaseadvisors.com> wrote:

>There is also this list:
>
>https://jkp-ads.com/articles/apideclarations.asp
>
>  Which has many of the calls.
>
>There is also a free API scanner and API Viewer here:
>
>https://accessusergroups.org/europe/
>
>Written by Peter Cole.   His Youtube presentation on these is:
>
>https://www.youtube.com/watch?v=NE-ixCSkEgI
>
>Jim.
>
>
>
>-----Original Message-----
>From: AccessD On Behalf Of Stuart McLachlan
>Sent: Friday, March 8, 2024 8:56 PM
>To: Access Developers discussion and problem solving
><accessd at databaseadvisors.com>
>Subject: Re: [AccessD] Changing VBA code for 64 bit compatibility
>
>Assuming there are all WIn32 API decalrations, that's correct.  And you need
>to look at any
>API  Types as well as function prototypes 🙁
>
>If doing it yourself by eye, you need to change LONGs to LONGPTRs only where
>they are
>actual handles/ memory pointers, any others need to remain as LONGs  and the
>only way to
>tell that is to examine each function and work out what each parameter
>actually is.
>
>However, you can find a lot of the corrected  versions in the MS Document:
>Wini32API_Ptrsafe.txt..  You can search that document to find your
>functions/type
>declarations  and copy/paste the updated versions
>
>(But it's not a complete list!)
>
>
>See
>https://learn.microsoft.com/en-us/office/troubleshoot/office-suite-issues/wi
>n32api_ptrsafe-wit
>h-64-bit-support
>
>If you are using declarations to third party DLLs, it's a different issue.
>You can't call 32bit
>DLLs from 64bit Access.
>
>
>On 8 Mar 2024 at 23:33, Steve Schapel wrote:
>
>>  Hi all.
>>
>>  Sorry, a bit green on this topic.  But I want to change the code in an
>>  application that contains a very large number of Declare statements,
>>  so that it will be compatible with 64 bit Access.
>>
>>  I think I know what has to be changed.  But so far it looks like a
>>  long tedious task.
>>
>>  Has anyone worked out a way to streamline this process.  I know I
>>  could flick through and replace e.g. "Declare Function" with "Declare
>>  PtrSafe Function".  But as far as I can see, I would still need to
>>  manually check each instance for "As Long", and where applicable edit
>>  to "As LongPtr".  Is that right?
>>
>>  Many thanks.
>>
>>  Regards
>>  Steve
>>  --
>>  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