Stuart McLachlan
stuart at lexacorp.com.pg
Wed Jan 26 17:18:14 CST 2011
Sorry, that was off the top of my head and I got things mixed up. I've been doing quite a bit of multithreading recently and had thread safe functions on the brain. I should have said PTRSAFE which is required if you are calling APIs from x64 Access 2010 ( in my case, the workstations using Office 10 x64 are running Windows 7 x64) Because of mixed OS/Office versions wth many clients I still develop in 2003 and distribute MDB/MDEs. (that and the fact that I hate the development environment in A2007+) A typical declaration not looks like this #If VBA7 Then 'Access 2010 - allow for 64 bit Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long #Else 'earlier version of Access. Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long #End If Here's a good primer on the subject: http://www.jkp-ads.com/articles/apideclarations.asp -- Stuart On 26 Jan 2011 at 17:13, Arthur Fuller wrote: > Where in the declaration does THREADSAFE go? > > Thanks, > Arthur > > On Wed, Jan 26, 2011 at 4:59 PM, Stuart McLachlan > <stuart at lexacorp.com.pg>wrote: > > > I'm currently using the GetOpenFilenameAPI on 64 bit Win7 from > > Access without any problems. (You just have to put the word > > THREADSAFE in the function declaration). > > > > Note that I do quite a bit of work with API calls. I never use .Net > > framework calls. Basically they are just wrappers to the API which > > is still there. > > > > -- > > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com >