Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Visual Basic.doc
Скачиваний:
105
Добавлен:
09.04.2015
Размер:
1.1 Mб
Скачать

Передача аргументов по ссылке и по значению

Передача значений аргументов при вызове процедуры или функции по ссылке (в списке аргументов для передаваемого таким образом аргумента используется ключевое слово ByRef) означает, что вызываемой процедуре или функции передается адрес ячейки памяти, по которому хранится значение аргумента (т.е. вызываемая процедура или функция для работы с переданным по ссылке аргументом использует ту же ячейку или область памяти, что и вызывающая процедура пли функция). При этом не выделяется дополнительная память для работы с переданным аргументом в вызываемой программе. Изменение значения аргумента в вызываемой процедуре или в функции означает изменение значения и в вызывающей процедуре или в функции (используется одна и та же ячейка или область памяти).

Передача по ссылке (ее поясняет рис 13.2) определена по умолчанию.

Рис. 13.2. Пояснение связи по ссылке

Передача значений аргументов при вызове процедуры или функции по значению (в списке аргументов используется ключевое слово ByVal)означает, что для аргумента выделяется дополнительная ячейка или область памяти, в которую записывается значение передаваемого аргумента. Изменения значения аргумента в вызываемой процедуре или в функции не ведут к изменению аргумента в вызывающей процедуре или в функции, так как вызываемая процедура или функция использует для аргумента другую ячейку или область памяти аналогично локальным данным (см. рис. 13.3). Это удобно, если модификация данных необходима только внутри вызываемой процедуры или функции и нет необходимости передавать измененные данные обратно в вызывающую процедуру или функцию.

Вместе с тем передача по значению (выделение дополнительной памяти) приводит к неэффективному использованию памяти. В связи с этим, для строк символов и массивов нецелесообразно использовать передачу по значению.

Рис. 13.3. Пояснение связи по значению

Лекция 14 Отладка

Различают ошибки программы:

  1. Синтаксические ошибки (состоят в нарушении правил синтаксиса инструкций).

  2. Ошибки периода выполнения программы.

  3. Логические ошибки.

О синтаксических ошибках и ошибках периода выполнения среда сообщает на этапе ввода программного кода или его выполнения соответственно. Это упрощает обнаружение и исправление ошибок. Самым "крепким орешком" среди всех возможных являются логические ошибки. При их появлении код выполняется корректно, но желаемый результат не достигается.

Для выявления причин логической ошибки и ее устранения требуется обширное тестирование. VBпредлагает некоторые эффективные инструменты для поиска источников ошибок.

Среда VBможет находиться в трех режимах:

- разработка – design;

- выполнение – run;

- отладка – break.

1. Режим отладки

Набор команд меню Runи назначение многих кнопок панели инструментов зависит от состояния среды разработки. В режиме проектирования приложение можно только запустить, все же остальные возможности недоступны. При запуске можно выбрать один из двух вариантов: без полной компиляции или полную компиляцию всех процедур. Приложение запускается нажатием клавишиF5или кнопки Startв среде разработкиVB.

Переход в режим отладки выполняется нажатием клавиш Ctrl+Breakили щелчком на кнопке Breakпанели инструментов.В режиме отладки можно выбирать один из вариантов: продолжать программу или перейти в режим разработки.

В режим выполнения можно перейти, нажав повторно клавишу F5или щелкнув на кнопке Continue.Обратите внимание, что в режиме отладки кнопка Startносит название Continue.

Название текущего режима отображается в квадратных скобках в строке заголовка VB.

В режим отладки Вы попадаете и тогда, когда во время выполнения программы, запущенной из среды разработки, возник­ла необрабатываемая ошибка выполнения. При этом выдается сообщение об ошибке с возможностью выбора одного из вариантов: завершение выполнения или переход в режим отладки.

Большое преимущество режима отладки заключается в том, что выполнение программы приостанавливается в месте возникновения ошибки. Другим важным моментом является то, что при этом сохраняются значения всех текущих переменных и их можно увидеть. Для этого достаточно навести указатель мыши на имя соответствующей переменной.

В среде разработки VBинструменты поиска ошибок объединены в меню Debug.Воспользовавшись командой Toolbars меню View,можно отобразить панель инструментов Debugдля доступа к основным средствам отладки.