|
Глюк выполнения программы в VFP9
|
|||
---|---|---|---|
#18+
Хочу поделиться - странностями выполнения, бывшей foxpro dos 2.6 программы, в VFP9. Вот сам кусок: SELECT; F9.DLI_1 AS PAR_0,; 0000.000000 AS RA0 ,; 000 AS MES ; FROM F9.DBF; ORDER BY F9.DLI_1 DESC; INTO DBF F10.DBF =PO_SR_DI4( MAX_DAY1 ) SELECT F10 DELETE FOR F10.MES > MAX_DAY1 PACK На строке PACK (Это внизу), иногда (может на 100 другой прохода), выскакивает сообщение ДОСТУП К F10 ОТКЛОНЁН (Это я перевёл). Останавливаю программу с возможностью продления. Смотрю - БАЗЫ F10 НЕ СУЩЕСТВУЕТ! Сразу вопрос - почему не вызвало ошибку строка SELECT F10 или DELETE? Я так понимаю, после команды DELETE база испармлась? Делаю так, копирую по очереди в окно команд SELECT выполняю и так далее и PACK выполняю, и даю команду продолжить - RESUME. Программа выполняется и ещё может по этому месту может пройти сотню другую раз - может снова выскочит на PACK, а иногда нет. Если у кого какие-нибудь идеи? Я лично понимаю - это просто глюк в VFP9. В DOS всё работает без запинок. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2013, 08:38 |
|
Глюк выполнения программы в VFP9
|
|||
---|---|---|---|
#18+
Alexander41Я лично понимаю - это просто глюк в VFP9. Ну да, конечно, что еще кроме глюка может быть!? :) Антивирус. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2013, 09:39 |
|
Глюк выполнения программы в VFP9
|
|||
---|---|---|---|
#18+
Alexander41сообщение ДОСТУП К F10 ОТКЛОНЁН (Это я перевёл). Зря перевел. В следующий раз пиши как сам видишь. Можно просто Ctrl+C нажать на сообщении об ошибке. А помочь мог как антивирус так и сам виндовс не успев сбросить кэш на диск. PACK у тебя лишний. Лучше так сделать: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2013, 09:49 |
|
Глюк выполнения программы в VFP9
|
|||
---|---|---|---|
#18+
Dima T, СПАСИБО! Идею я понял! Напишу через день - когда всё протестирую! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2013, 10:08 |
|
Глюк выполнения программы в VFP9
|
|||
---|---|---|---|
#18+
Dima T, БОЛЬШОЕ СПАСИБО! Я заменил свой кусок, на это: SELECT * FROM F10.DBF INTO DBF F11.DBF SELECT * FROM F11 WHERE F11.MES <= MAX_DAY1 INTO DBF F10.DBF * SELECT F10 * DELETE FOR F10.MES > MAX_DAY1 * PACK И всё заработало! Действительно всё дело было в команде PACK. Выше нельзя так как функция =PO_SR_DI4( MAX_DAY1 ) работает с самой базой F10.DBF А базу F11.DBF просто удаляю при завершении программы вместе с другим мусором. Кстате и вдругих местах программы - были сбои с PACK. Теперь всё встало на место! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2013, 21:03 |
|
|
start [/forum/topic.php?fid=41&gotonew=1&tid=1583212]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 270ms |
total: | 423ms |
0 / 0 |