[AccessD] 32->64 bit

Stuart McLachlan stuart at lexacorp.com.pg
Mon Nov 8 17:10:08 CST 2021


On 8 Nov 2021 at 17:11, Bill Benson wrote:

> I would certainly not start with some behemoth compendium of all
> available WinAPIs, I would start with what are the bare number of APIs
> I can get away with to make my tool do what it is supposed to do.
> 

So where do you suggest he finds suitable declarations for the "bare number" of  outdated 
API declarations he is currently using.  :)

The "behemoth compilation" is a well laid out a simple 16,000 line text file.
Any decent text editor such as Notepad++ will let him easily find the appropriate Types and 
Declarations for any functions he is currently using 

i.e.

Old Function:

Type OPENFILENAME
  lStructSize As Long
  hwndOwner As Long
  hInstance As Long
  lpstrFilter As String
  lpstrCustomFilter As String
  nMaxCustFilter As Long
  nFilterIndex As Long
  lpstrFile As String
  nMaxFile As Long
  lpstrFileTitle As String
  nMaxFileTitle As Long
  lpstrInitialDir As String
  lpstrTitle As String
  flags As Long
  nFileOffset As Integer
  nFileExtension As Integer
  lpstrDefExt As String
  lCustData As Long
  lpfnHook As Long
  lpTemplateName As String
End Type

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
         "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long


Search on "Type OPENFILENAME" finds

Type OPENFILENAME
        lStructSize As Long
        hwndOwner As LongPtr
        hInstance As LongPtr
        lpstrFilter As String
        lpstrCustomFilter As String
        nMaxCustFilter As Long
        nFilterIndex As Long
        lpstrFile As String
        nMaxFile As Long
        lpstrFileTitle As String
        nMaxFileTitle As Long
        lpstrInitialDir As String
        lpstrTitle As String
        flags As Long
        nFileOffset As Integer
        nFileExtension As Integer
        lpstrDefExt As String
        lCustData As LongPtr
        lpfnHook As LongPtr
        lpTemplateName As String
'#if (_WIN32_WINNT >= 0x0500)
        pvReserved As LongPtr
        dwReserved As Long
        FlagsEx As Long
'#endif // (_WIN32_WINNT >= 0x0500)
End Type

Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" 
(pOpenfilename As OPENFILENAME) As Long

followed by a list of relevant OFN_ constants.





More information about the AccessD mailing list