Каждая программная компонента в Проекте Visual FoxPro обычно состоит из нескольких программных Файлов: Из Главного (ведущего) файла и Дополнительного (неявного) файла. Например, при создании Формы, система Visual FoxPro создает Ведущий программный файл Формы (.scx), а также дополнительный файл (.sct), имена которых совпвдают. В следующей Таблице представлены многофыйловые Компоненты:

Компонента Основной Тип Файла (.расширение) Дополнительные типы

Form

.scx

.sct

Report

.frx

.frt

Label

.lbx

.lbt

Class Library

.vcx

.vct

Menu

.mnx

.mnt

Table

.dbf

.fpt, .cdx, .idx

Database

.dbc

.dct, .dcx

В том случае, когда Разработчик отключает подсистему Контроля  для программной компоненты, например, Формы (Checks Out), система Visual FoxPro также отключает контроль над дополнительным файлом (файлами) указанной Формы. Аналогично, когда рассматриваемая программная Компонента обратно включается под Контроль (Checked In), или создается новая Контролируемая Программная Компонента, Visual FoxPro выполняет автоматический Контроль над всеми многофайловыми Группами.

NoteОбратите внимание

Если  вы создаете и Компилируете Пользовательское Меню, то соответственно создаете файлы .mpr / .mpx. Первоначально данные файлы Не включаются под Контроль (Source Control). Однако, при подключении этих файлов в Проект вашего Приложения, эти файлы также начинают Контролироваться, как и другие Компоненты вашего Приложения.

Контроль Текстовых Файлов

В том случае, когда вы включаете Контроль текстового программного файла, например: .prg, и если несколько версий рассматриваемого файла выключены из под Контроля (checked out), подсистема Source Control не переписывает Главную версию данного программного файлаь. Вместо этого,  выполняется проверка вносимых Изменений после последней Контрольной Точки. Если таковые имеются (изменения), выполняется попытка Объединения актуального состояния программной Компоненты с новыми Изменениями. Данный процесс выполняет соответствующие Удаления старых строк, Добавление Новых Строк, Замену существующих Строк Программного Кода в вашей Копии данного файла.

Когда описанный выше процесс Обновления программной Компоненты Завершается, подсистема Source Control может предложить вам включить данный файл под общий Контроль. Не рекомендуется делать данную операцию сразу после выполнения Обновления. вместо этого, выполните Тестирование вашего Приложения, новой Версии, вместе со всеми обновленными Компонентами (разработанными или дополненными другими Разрабротчиками). Только в том случае, когда вы удовлетворены текущей работой вашего Приложения (новой Версии), Включите Контроль (Check In) рассматриваемого программного файла. Если другие Разработчики выполнили новые Изменения к данной Компоненте, вы вновь сможете Объединить все Изменения и повторить Тестирование Приложения.

В редких случаях, подсистема Source Control может выдать протокол о невозможности выполнения Объединения внесенных Изменений (Протокол Конфликтов), обычно это означает, что вы выполняли Изменения в тех же строках программного Кода, что и другой Разработчик. Если подсистема source control не может выполнить Объединение Изменений, Создается версия программного модуля, содержащего Исходный программный Код, добавляются в качестве Комментариев ваши Изменения, указывается причина Конфликта (невозможность выполнить Объединение), и сохраняется данная Копия на вашем Компьютере. (Точный вид схематично описанного Протокола зависит от конкретного программного обеспечения Source Control). После описанных Операций рассматриваемый программный Компонент в диспетчере Проектов (Project Manager) отмечается следующим символом (Конфликт Объединения Изменений):

FoxProNoMergeSymbol screenshot

Чтобы разрешить полученные Конфликты Объединения Изменений, вам необходимо Завершить внесение Изменений, выполнить требуемую работу, удалить отметки Протокола. После завершения описанного Процесса, Visual FoxPro запрашивает у вас разрешение на Сохранение внесенных Изменений (разрешение конфликтов). После этого рассматриваемый Программный Компонент отмечается значком (Объединение Изменений - выполнено):

FoxProMergeSymbol screenshot

Выполните процесс Тестирования новой версии вашего Приложения, или компоненты, если результаты тестирования вас удовлетворяют, включите продолжение Контроля рассматриваемой Компоненты (Check In). Если конфликтов Объединения больше не происходит - ваша Копия становится текущей (последней) версией программной Компоненты.

См. также