После создания вашего Проекта в системе Visual Studio, вы можете выполнить Сборку и Отладку разрабатываемого Модуля. В данном параграфе рассматриваются ключевые вопросы использования системы Visual Studio 6.0. Дополнительную информацию о специальных особенностях смотрите в Технической Документации.

Сборка Проекта

Перед тем, как выполнить Сборку вашего Проекта, вам необходимо выполнить настройку специальных параметров рассматриваемого Проекта. Некоторые параметры, которые вы изменяете, влияют на свойства создаваемого Модуля, предназначенного либо для Отладки, либо он уже является готовой Компонентой: Библиотекой функций или Контролом типа ActiveX. Как правило, сначала рекомендуется создавать Отладочную версию, а после удовлетворительной Отладки - создавать конечный, пользовательский вариант разрабатываемого Модуля.

Для определения Версии Отладки или Версии Готовой Компоненты:

  1. В системном меню Build (Сборка), выберите подпункт Set Default Configuration (Установить Текущую Конфигурацию).

  2. Выберите требуемый Вариант: Отладочный или Готовая Компонента.

  3. Нажмите кнопку OK.

Для Установки параметров Проекта:

  1. В системном меню Build (Сборка), выберите подпункт Settings (Установки, Параметры).

  2. В Подразделе: Settings For (Параметры Для), выберите требуемый вариант: Отладочный или Готовая Компонента.

  3. Активируйте закладку C/C++, и установите следующие параметры:

    • В списке Category (Категории), выберите Опцию Code Generation (Генерация программного Кода).

    • В списке Calling Convention (Вызов Соглашений), выберите вариант: _fastcall.

    • В списке Use run-time library (Используемая библиотека), выберите вариант - Многопоточная: Multithreaded DLL.

  4. Далее, активируйте закладку Link, и в текстовом Боксе Object/Library Modules, укажите одну из следующих Библиотек:

    • Если создаете Контрол ActiveX (.ocx) - выберите OCXAPI.LIB из соответствующего подкаталога Visual FoxPro API.

    • Если создаете библиотеку Функций (.fll) - выберите WINAPIMS.LIB из соответствующего подкаталога Visual FoxPro API.

  5. Снимите отметку в Контроле-Переключателе: Ignore all default libraries (Игнорировать все Библиотеки "по-умолчанию").

  6. Нажмите кнопку OK.

Для проверки того, что Компилятор сможет найти все требуемые файлы:

  1. В системном меню Tools (Инструменты), выберите подраздел Options (Опции, Параметры).

  2. Активируйте Закладку Directories (Подкаталоги).

  3. В списке Show directories for (Показать Подкаталоги Для...), выберите опцию Include files (Файлы Расширений).

  4. В тулбаре Directories, нажмите кнопку Add (Добавить).

  5. Выберите подкаталог, где размещается файл: Pro_ext.h.

  6. В списке Show directories for, выберите опцию: Library files (Файлы Библиотек).

  7. В тулбаре Directories, нажмите кнопку Add.

  8. Выберите подкаталог, содержащий файл: Ocxapi.lib, это есть соответствующая папка Visual FoxPro API (при создании модуля .OCX); или выберите подкаталог, содержащий файл: Winapims.lib (при создании модуля .FLL).

  9. В активном диалоговом боксе Options, нажмите кнопку OK.

После выполнения описанных выше настроек вы можете Компилировать проект и осуществлять Соединение составных частей создаваемого Модуля (Compile / Link).

Для выполнения Компиляции и Сборки компоненты типа .ocx :

  • В системном меню Build, выберите подпункт: Build projname.ocx (Сборка Контрола).

Когда выполняете компиляцию и сборку  модуля типа .ocx, система Visual C++автоматически регистрирует данный Контрол в системном Реестре Windows для компьютера, где выполняется указанная Сборка. Если, по какой-либо Причине, вам требуется в-ручную выполнить Регистрацию создаваемого Контрола, вы можете использовать следующий Сценарий.

Для Регистрации Контрола типа ActiveX:

  1. В системном меню Tools подсистемы: Microsoft Development Environment, выберите подпункт: Register Control (Регистрация Контрола).

    -или-

  2. Используйте объявление и выполнение внутреннего модуля Регистрации: DLLRegisterServer( ), который должен существовать в каждом Модуле рассматриваемого Типа.

Отладка Контрола типа ActiveX или Библиотеки функций .FLL в контексте полного, готового Приложения Visual FoxPro значительно труднее и менее качественнее, чем отладка из специального отладочного модуля. Данная Рекомендация является хорошим подспорьем для создания указанного специализированного отладочного модуля Тестирования разрабатываемой Компоненты.

Выполнение процессов Отладки с помощью подсистемы: Microsoft Development Environment

Система Microsoft Visual C++, версии 4.0, и выше имеет в своем составе Интегрированную подсистему Отладки с широкими возможностями по управлению контрольными точками отлаживаемого Модуля и обеспечения по-шагового выполнения Фрагментов программного Кода. Вы можете даже выполнить Visual FoxPro в среде Отладки Visual C++.

Для Запуска процесса Отладки Модуля с использованием Microsoft Visual C++ :

  1. В системном меню Build, выберите подпункт: Settings.

  2. В активированном диалоговом боксе Project Settings (Параметры Проекта), активируйте закладку Debug (Отладка).

  3. В текстовом боксе: Executable for debug session (Программа для сеанса Отладки), введите полный путь и имя  главного исполняемого файла Visual FoxPro (executable - (.exe)). Например, вы можете ввести конкретный исполняемый модуль, который удовлетворяет следующему абстрактному Шаблону:

    C:\Program Files\Microsoft Visual FoxPro <номер версии>\Vfp<номер версии>.exe

  4. Нажмите кнопку OK.

  5. Установите Контрольные Точки в программном Коде вашей Библиотеки.

  6. В системном меню Build, выберите подпункт Debug. И далее, в дополнительном подменю -  подпункт: Go.

  7. Когда подсистема Visual Studio отобразит дополнительный Диалоговый Бокс  " VFP9.exe не содержит Отладочной Информации ?" выберите вариант - Yes (Да), (и продолжайте Отладку Приложения).

Дополнительную информацию по выполнению Отладочных Процедур смотрите в Технической Документации по системе: Visual C++ .

Выполнение Отладочных Процедур с помощью Других Отладчиков.

Вы можете также выполнить требуемые Отладочные процедуры для разрабатываемого Контрола или Библиотеки с помощью другого Отладчика, который корректно обрабатывает прерывание INT 3 (_BreakPoint( )), которое может быть внедрено в программные коды ваших Модулей. Вы можете использовать любой Отладчик, который поддерживает "Символическую" Отладку, которая предполагает следующие ключевые моменты:

  • Создание Символьной Таблицы из общей Карты исходного программного файла.

  • Возможность загрузки созданной Символической Таблицы независимо от отлаживаемого программного файла.

  • Возможности перемещения специализированных Символов по новому Адресу программного Кода.

Для Отладки создаваемой Библиотеки:

  1. Подключите вызов функции _BreakPoint( ) в тех местах Модуля, где планируется процесс Отладки Библиотеки.

  2. Выполните Сборку Контрола или Библиотеки.

  3. Запустите ваш Отладчик (Debugger).

  4. Если ваш Отладчик поддерживает Cимволы, загрузите Таблицу Символов для вашей Библиотеки.

  5. Активируйте систему Visual FoxPro.

  6. Выполните вызов отлаживаемой Библиотеки из системы Visual FoxPro.

  7. Когда достигается Контрольная Точка, внесите изменения в базовый символ Смещения, характеризующий текущее местоположение Программного Кода отлаживаемой Библиотеки.

  8. Увеличивайте значение указателя  (IP) на единицу (1), чтобы обеспечить пропуск инструкции INT 3.

  9. Продолжайте отладку вашей Библиотеки, как обычного Программного Модуля.

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

    Всегда удаляйте ваши Контрольные Точки в Отладчике перед подготовкой ваших Компонент к передаче конечному Пользователю.

См. также