powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюк выполнения программы в VFP9
5 сообщений из 5, страница 1 из 1
Глюк выполнения программы в VFP9
    #38117342
Alexander41
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу поделиться - странностями выполнения, бывшей 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 всё работает без запинок.
...
Рейтинг: 0 / 0
Глюк выполнения программы в VFP9
    #38117391
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander41Я лично понимаю - это просто глюк в VFP9. Ну да, конечно, что еще кроме глюка может быть!? :)
Антивирус.
...
Рейтинг: 0 / 0
Глюк выполнения программы в VFP9
    #38117406
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander41сообщение ДОСТУП К F10 ОТКЛОНЁН (Это я перевёл).
Зря перевел. В следующий раз пиши как сам видишь. Можно просто Ctrl+C нажать на сообщении об ошибке.

А помочь мог как антивирус так и сам виндовс не успев сбросить кэш на диск.
PACK у тебя лишний. Лучше так сделать:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT ...;
INTO cursor tF10 readwrite

=PO_SR_DI4( MAX_DAY1 )

SELECT * from tF10 where tF10.MES <= MAX_DAY1 into DBF F10.DBF
*или так если только сохранить надо не открывая
copy to F10.DBF for tF10.MES <= MAX_DAY1
...
Рейтинг: 0 / 0
Глюк выполнения программы в VFP9
    #38117432
Alexander41
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, СПАСИБО!
Идею я понял! Напишу через день - когда всё протестирую!
...
Рейтинг: 0 / 0
Глюк выполнения программы в VFP9
    #38118725
Alexander41
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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. Теперь всё встало на место!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюк выполнения программы в VFP9
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]