Страница 1 из 1

GetSaveFileName не работает в XP

Добавлено: 19 июл 2004, 13:18
Slon
Программа раобтала под 98 но не работает в XP

Dim Ofn As OPENFILENAME

With Ofn
.hwndOwner = Screen.ActiveForm.hWnd
.hInstance = Timer
.lpstrFilter = Replace(Filter, "|", vbNullChar)
.lpstrCustomFilter = ""
.nMaxCustFilter = Len(.lpstrCustomFilter)
.nFilterIndex = FilterIndex
.lpstrFile = GetFileName(FullName) & Space$(MaxLenFullFileName - Len(GetFileName(FullName)))
.nMaxFile = Len(.lpstrFile)
.lpstrFileTitle = Space$(MaxLenFileName)
.nMaxFileTitle = Len(.lpstrFileTitle)
.lpstrInitialDir = GetPath(FullName)
.lpstrTitle = Title
.Flags = Flags
.nFileOffset = 0
.nFileExtension = 0
.lpstrDefExt = Mid$(Filter, InStr(1, Filter, "|", 0) + 3, 3)
.lCustData = 0
.lpfnHook = 1
.lpTemplateName = Space$(MaxLenTemplateName)
.lStructSize = Len(Ofn)
End With
GetSaveFileName(Ofn)
DErr = CommDlgExtendedError

CommDlgExtendedError - возвращает код ошибки 2 - как ошибку инициализации
что под XP надо подправить ?

Добавлено: 19 июл 2004, 17:44
Slon
Методом проб и ошибок удалось выяснить что ошибку вызвают параметры
.lpstrCustomFilter = ""
.nMaxCustFilter = Len(.lpstrCustomFilter)

.lpstrFile = GetFileName(FullName) & Space$(MaxLenFullFileName - Len(GetFileName(FullName)))