Автор | Сообщение |
|
| |
Пост N: 1
Зарегистрирован: 26.03.09
|
|
Отправлено: 26.03.09 11:51. Заголовок: Как такое может быть?
Добрый день, уважаемые гуру. Проблема в следующем: есть програма написанная на Clipper'е. При запуске exe файла выполняется такая функция, которая проверяет наличие dbf файла: if file(sejf+"DBF\klientf.dbf") use (sejf+"DBF\klientf") exclusive new alias KLF if file(sejf+"DBF\klientf.ntx") set index to (sejf+"DBF\klientf") // индекс else index on fam to (sejf+"DBF\klientf") endif else tone(200,3) message("Нет доступа к БД КЛИЕНТЫ(klientf.dbf) !! Выполнение пpеpвано !!") return .f. endif DBF файл имеется и доступен. Самое смешное если в опеределенное поле типа ДАТА ввести дату больше 31.03.09 програма выдает "Нет доступа к БД КЛИЕНТЫ(klientf.dbf) !! Выполнение пpеpвано !!" Стоит только удалить дату или ввести меньше (например 30.03.09) - всё работает. КТО НИБУДЬ МОЖЕТ МНЕ ОБЪЯСНИТЬ КАК ТАКОЕ МОЖЕТ БЫТЬ? Откомпилировать заново не могу, т.к. писал прогу не я, компилятора нет, да и исходник не последний.
|
|
|
Ответов - 2
[только новые]
|
|
|
| |
Пост N: 1164
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.03.09 13:03. Заголовок: Судя по исходнику та..
Судя по исходнику такого быть не может. Доступа нет если файл не найден. PS В конец функции нужно добавить Return .t.
|
|
|
|
| постоянный участник
|
Пост N: 345
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.03.09 13:31. Заголовок: В Clipper 5.x общая ..
В Clipper 5.x общая длина полного имени файла, включая символ диска с двоеточием не должна превышать 64 символа. Поэтому в вашем случае, во-первых, нужно знать, что из себя представляет sejf, во-вторых, вы сами можете промоделировать эту ситуацию, написав программу состоящую из данной функции, которую вы здесь привели, и посмотреть что получится.
|
|
|
|