|
|
|
Помогите с API функцией
|
|||
|---|---|---|---|
|
#18+
Помогите разобраться! Есть такой код (в Access'е): Option Compare Database Option Explicit 'описание структуры, применяемой для открытия диалога "OpenAs" Private 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 'декларация WinAPI импортируемой функции из comdlg32.dll Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _ "GetSaveFileNameA" (pOpenFileName As OPENFILENAME) As Long _________________________________________ Private Function myFuction () Dim OpenFile As OPENFILENAME Dim lReturn, lFreeFileNum, lQDCounter, lCounter As Long Dim sFilter, sSQLRequery, sQDName0, sQDName1, sCurQDName As String Dim sFileName As String * 256 Dim bEOLFlag As Boolean 'задание параметров для диалога "OpenAs" OpenFile.lStructSize = Len(OpenFile) OpenFile.hwndOwner = Screen.Application.hWndAccessApp OpenFile.hInstance = 0 sFilter = "Text files (*.txt)" & Chr(0) & "*.txt" & Chr(0) OpenFile.lpstrFilter = sFilter OpenFile.nFilterIndex = 1 'sFileName = "obmen_" & Me!month0.Column(1) & Me!day0 OpenFile.lpstrFile = sFileName OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1 OpenFile.lpstrFileTitle = OpenFile.lpstrFile OpenFile.nMaxFileTitle = OpenFile.nMaxFile OpenFile.lpstrInitialDir = "\\server\obmen" OpenFile.lpstrTitle = "Save File" OpenFile.flags = 2050 OpenFile.lpstrDefExt = "txt" 'открываем диалог lReturn = GetSaveFileName(OpenFile) ... ну и т.д. Так вот, из-за этой вот строчки: sFileName = "obmen_"... - в Windows 2000 процедура не работает!! А если ее закомментировать, то работает (ну, естественно, тогда имя файла надо вводить вручную, а это в данном случае неприемлемо...) А в 98 всё работает без проблем! Подозреваю, что дело в API функции, но в чем именно ошибка, разобраться не могу... Хелп! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 11:33 |
|
||
|
Помогите с API функцией
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. т.е. надо дополнить имя файла справа до 512 символов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 11:49 |
|
||
|
Помогите с API функцией
|
|||
|---|---|---|---|
|
#18+
Добавьте символ с кодом 0 sFileName = "obmen_" & Me!month0.Column(1) & Me!day0 & chr(0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 11:50 |
|
||
|
Помогите с API функцией
|
|||
|---|---|---|---|
|
#18+
да и 512 от балды под буфер. Если он будет мал (например, в случае выделения нескольких файлов) - то будет ошибка, но тебе вроде это не грозит, ты же сохраняешь 1 файл, тогда можешь поставить 257 (255 - макс. длина пути к файлу + 2 байта под служ. инфу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 11:58 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1674&tid=1676362]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 398ms |

| 0 / 0 |
