Как заставить форму Visual FoxPro (SCT) «забыть» о старом DBF? - PullRequest
1 голос
/ 24 февраля 2020

Я удалил некоторые DBF из своего проекта VFP, но один из них все еще вызывает ошибку, когда я пытаюсь открыть форму для редактирования. Я удалил все ссылки на DBF в коде (из объектов / методов формы), и они не включены в таблицы данных в проект.

Ошибка также возникает, если я пытаюсь открыть файл SCT самостоятельно вне проекта. Ошибка:

Image of error

Я открыл файл SCT в текстовом редакторе и нашел запись для удаленного DBF, но я не уверен, что запись на самом деле или каков правильный способ ее удаления. Могу ли я просто удалить строки № 7 и 8?

Image showing SCT contents

Почему / как это было создано в первую очередь и почему оно оставалось?

1 Ответ

2 голосов
/ 24 февраля 2020

Вы ДОЛЖНЫ иметь возможность избавиться от них, просто открыв форму в VFP

Затем щелкните правой кнопкой мыши в любом месте открытой области формы и выберите среду данных. В нем будут перечислены любые возможные объекты таблицы / представления / отношения, связанные с формой. Просто нажмите на каждый из элементов, удалите их и сохраните форму. Это должно помочь вам go.

ДОПОЛНИТЕЛЬНО,

В VFP формы и классы - это не что иное, как файлы .DBF с измененным суффиксом

.SCX = .DBF
.SCT = .FPT
.VCX = .DBF
.VCT = .FPT

В Кроме того, проект и отчеты - это одно и то же ...

.PJX = .dbf
.PJT = .fpt
.FRX = .dbf
.FRT = .fpt

Итак, теперь, когда вы знаете, что это файл базы данных, вы можете открыть его непосредственно в VFP

use MyForm.scx
browse normal nowait

Теперь посмотрите в строках и дважды щелкните по столбцу «Класс». Вероятно, у вас есть среда данных и ссылки курсора во второй и третьей строках, показывающие содержимое класса как «dataenvironment» и «cursor».

вы также можете сделать

browse normal nowait for atc( "dataenvironment", class ) > 0 OR atc( "cursor", class ) > 0

Вы можете удалить их records.

Между таблицами также могут существовать ссылки "взаимосвязи", но сам по себе редактирование среды данных из конструктора - самый безопасный способ сделать это. Однако в таблицах .dbf версии экрана и версии класса есть много интересных вещей.

ОБРАТНАЯ СВЯЗЬ

При проектировании формы вы можете добавлять в форму любые таблицы и связи. Это избавляет вас от необходимости вручную открывать таблицы, устанавливать порядок индексов, устанавливать отношения еще до загрузки формы. Лично я не строил этот путь вплоть до 1993 года, когда вышел VFP 3. Я предпочел кодирование вводных таблиц. Это позволило настраивать параметры пути, например, поддерживать несколько «компаний», например, в бухгалтерском приложении. Во всяком случае, вероятно, не то, что вы участвуете, но рад, что это сработало для вас.

...