Gustav Brock
gustav at cactus.dk
Wed Jul 21 10:56:33 CDT 2004
Hi Dan Or you may simply comment this line out: ' .strCustomFilter = "" Again, I'm not sure how the code will run on Win9x. /gustav > 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