On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 51
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 29.03.07 10:42. Заголовок: Проблемы при открытии файлов


Товарищи! Помогите кто может - непонятные проблемы при работе с файлами. Во-первых, не открывается свежесозданный файл (т.е. use сразу после dbcreate() ). Я сделал так:

select 0
DO WHILE !USED()
use (db_tmp_pat+[\common])
ENDDO

Вообще-то это ненормально, но работает.

Но ещё хуже, если открыть файл сразу после его закрытия. Тогда происходит вылет:
Workarea not in use: ORDLISTADD (у меня такого алиаса нет). В этом случае помогла задержка:
tone(0,1). Но ведь это всё ненормально! Как на самом деле надо с такими вещами бороться?





Спасибо: 0 
Профиль
Ответов - 7 [только новые]







Пост N: 94
Зарегистрирован: 28.06.05
ссылка на сообщение  Отправлено: 29.03.07 11:22. Заголовок: Re:


попробуйте следующий код

dbEval( {|| tone(Random(recno())/20,0.5),IIF(Inkey()=27.and.Alert('Надоело слушать МУЗЫКУ?',2)=1,dbGoTo(0),IIF(RecNo()=LastRec(),dbGoTop(),Nil)),.F. } )

Спасибо: 0 
Профиль





Пост N: 95
Зарегистрирован: 28.06.05
ссылка на сообщение  Отправлено: 29.03.07 11:29. Заголовок: Re:


ежели серьёзно, то ORDLISTADD - это имя функции, а не алиас, а Workarea not in use - сообщение о ошибке, генерируемое внутре функции ORDLISTADD в случае, когда неактивна рабочая область (!USED())
Верю, что отладчик может помочь.
код, видимо, примерно такой?
USE ... EXCLUSIVE
INDEX ON ...
CLOSE
USE ... SHARED
SET INDEX TO .. // и тут вылет?

Спасибо: 0 
Профиль



Пост N: 52
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 29.03.07 11:52. Заголовок: Re:


Примерно так. Правда, если выделить открытие индекса в отдельную строку (set index вместо use ... index), то функция вылета другая - ORDLISTCLEAR.
Вылет происходит, если перед закрытием в файл была активная запись, а если просто открывался, то нет.

Спасибо: 0 
Профиль



Пост N: 1
Зарегистрирован: 29.03.07
ссылка на сообщение  Отправлено: 29.03.07 11:58. Заголовок: Re:


кэш ?
Какая сеть ?

Спасибо: 0 
Профиль



Пост N: 53
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 29.03.07 12:51. Заголовок: Re:


Сеть Realtek RTL8168/8111 PCI-E Gigabit Ethernet NIC. Но файлы-то локальные.
А кэш - что имеете в виду? Процессорный или какой и где его смотреть?

Спасибо: 0 
Профиль





Пост N: 96
Зарегистрирован: 28.06.05
ссылка на сообщение  Отправлено: 29.03.07 14:51. Заголовок: Re:


совет - писать свою функцию открытия DBF, которая ждет успешного открытия, если это надо и сколько надо.

Спасибо: 0 
Профиль



Пост N: 54
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 29.03.07 16:51. Заголовок: Re:


SergeJa пишет:

 цитата:
совет - писать свою функцию открытия DBF, которая ждет успешного открытия, если это надо и сколько надо


Да я так и делал, когда не открывалось, только пока без ограничения по времени. А неужели нет стандартных
средств? И главное - как быть с вылетами? Неужели ставить задержки?

Спасибо: 0 
Профиль
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 200
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет