[AccessD] WindowsXP not recognizing ape Call

Gustav Brock gustav at cactus.dk
Wed Jul 21 09:00:24 CDT 2004


Hi Dan the Monkey (ape call?)

You probably need to set these values of the OFN structure:

       .strCustomFilter = String(255, 0)
       .nMaxCustFilter = 255
            
If that works, could you please report if these settings work with Win9x too?

/gustav


> I use the code I downloaded from Candace Tripp's website for this.  It's
> been a while, but I remember that she has separate downloads for these
> operating systems, and that the code is slightly different, although I
> didn't understand the differences.  I use the code as is on Windows XP PC's,
> and it works.

> Look at www.candace-tripp.com.

> Good Luck!
> Dan Waters

> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of
> connie.kamrowski at agric.nsw.gov.au
> Sent: Tuesday, July 20, 2004 8:26 PM
> To: accessd at databaseadvisors.com
> Subject: [AccessD] WindowsXP not recognising api Call


> Ok further to last week I have been trying to find the problem with my
> inherited app. The api call works fine on windows98 and when taken to
> windows XP machines does not work.
> It throws no errors just does not open the Windows Open Save dialog box.
> The code is word for word to the Getz API call but when the XP machine
> reaches the
> If OpenFile Then
>         fResult = adh_apiGetOpenFileName(OFN)
>     Else
>         fResult = adh_apiGetSaveFileName(OFN)
>     End If

> It does not open the dialogue box. Running the same code side by side on
> the win98 machine I get the popup box every time. I have run a reference
> checker and it says all references are OK.
> The code is below if that helps.

> Connie Kamrowski

> Analyst/Programmer
> Information Technology
> NSW Department of Primary Industries
> Orange

> Ph: 02 6391 3250
> Fax:02 6391 3290

> Function adhCommonFileOpenSave( _
>  Optional ByRef Flags As Variant, _
>  Optional ByVal InitialDir As Variant, _
>  Optional ByVal Filter As Variant, _
>  Optional ByVal FilterIndex As Variant, _
>  Optional ByVal DefaultExt As Variant, _
>  Optional ByVal FileName As Variant, _
>  Optional ByVal DialogTitle As Variant, _
>  Optional ByVal hwnd As Variant, _
>  Optional ByVal OpenFile As Variant) As Variant

>     ' This is the entry point you'll use to call the common
>     ' file open/save dialog. The parameters are listed
>     ' below, and all are optional.
>     '
>     ' From Access 97 Developer's Handbook
>     ' by Litwin, Getz and Gilbert. (Sybex)
>     ' Copyright 1997. All Rights Reserved.
>     '
>     ' In:
>     '    Flags: one or more of the adhOFN_* constants, OR'd together.
>     '    InitialDir: the directory in which to first look
>     '    Filter: a set of file filters, set up by calling
>     '            AddFilterItem.  See examples.
>     '    FilterIndex: 1-based integer indicating which filter
>     '            set to use, by default (1 if unspecified)
>     '    DefaultExt: Extension to use if the user doesn't enter one.
>     '            Only useful on file saves.
>     '    FileName: Default value for the file name text box.
>     '    DialogTitle: Title for the dialog.
>     '    OpenFile: Boolean(True=Open File/False=Save As)
>     ' Out:
>     '    Return Value: Either Null or the selected filename

>     Dim OFN As tagOPENFILENAME
>     Dim strFileName As String
>     Dim strFileTitle As String
>     Dim fResult As Boolean

>     ' Give the dialog a caption title.
>     'If IsMissing(InitialDir) Then InitialDir = ""
>     If IsMissing(InitialDir) Then
>         InitialDir = CurDir
>     Else
>         If Dir(InitialDir, vbDirectory) = "" Then InitialDir = CurDir
>     End If
>     If IsMissing(Filter) Then Filter = ""
>     If IsMissing(FilterIndex) Then FilterIndex = 1
>     If IsMissing(Flags) Then Flags = 0&
>     If IsMissing(DefaultExt) Then DefaultExt = ""
>     If IsMissing(FileName) Then FileName = ""
>     If IsMissing(DialogTitle) Then DialogTitle = ""
>     If IsMissing(hwnd) Then hwnd = Application.hWndAccessApp
>     If IsMissing(OpenFile) Then OpenFile = True

>     ' Allocate string space for the returned strings.
>     strFileName = Left(FileName & String(256, 0), 256)
>     strFileTitle = String(256, 0)

>     ' Set up the data structure before you call the function
>     With OFN
>         .lStructSize = Len(OFN)
>         .hwndOwner = hwnd
>         .strFilter = Filter
>         .nFilterIndex = FilterIndex
>         .strFile = strFileName
>         .nMaxFile = Len(strFileName)
>         .strFileTitle = strFileTitle
>         .nMaxFileTitle = Len(strFileTitle)
>         .strTitle = DialogTitle
>         .Flags = Flags
>         .strDefExt = DefaultExt
>         '.strInitialDir = CurDir
>         .strInitialDir = InitialDir

>         ' Didn't think most people would want to deal with
>         ' these options.
>         .hInstance = 0
>         .strCustomFilter = ""
>         .nMaxCustFilter = 0
>         .lpfnHook = 0
>     End With

>     ' This will pass the desired data structure to the
>     ' Windows API, which will in turn it uses to display
>     ' the Open/Save As Dialog.

>     If OpenFile Then
>         fResult = adh_apiGetOpenFileName(OFN)
>     Else
>         fResult = adh_apiGetSaveFileName(OFN)
>     End If

>     ' The function call filled in the strFileTitle member
>     ' of the structure. You'll have to write special code
>     ' to retrieve that if you're interested.

>     If fResult Then
>         ' You might care to check the Flags member of the
>         ' structure to get information about the chosen file.
>         ' In this example, if you bothered to pass in a
>         ' value for Flags, we'll fill it in with the outgoing
>         ' Flags value.
>         If Not IsMissing(Flags) Then Flags = OFN.Flags
>         adhCommonFileOpenSave = adhTrimNull(OFN.strFile)
>         msgbox adhCommonFileOpenSave
>     Else
>         adhCommonFileOpenSave = Null
>     End If
> End Function


> This message is intended for the addressee named and may contain
> confidential information. If you are not the intended recipient or received
> it in error, please delete the message and notify sender. Views expressed
> are those of the individual sender and are not necessarily the views of
> their organisation.




More information about the AccessD mailing list