Visual Basic 6. Руководство разработчика


Установка связи с сервером - часть 4


объявлена как переменная типа Object (Объект), то каждый раз перед вызовом соответствующих свойств или методов Visual Basic должен сначала удостовериться, что вызываемые элементы существуют. Поскольку Object (Объект) — обобщенный тип переменной, который может включать все типы объектов. Visual Basic не знает, какой именно объект описывает объектная переменная во время разработки, и это не позволяет обнаружить синтаксические ошибки во время ввода программы. Например, если было неправильно набрано имя компонента-члена, Visual Basic не сможет обнаружить эту ошибку во время разработки приложения. Так, например, Excel поддерживает метод Evaluate, который позволяет вычислять

математические выражения. Если объявить переменную EXLApp как Object (Объект), а затем попытаться обратиться к ней, чтобы получить доступ к методу Calculate, Visual Basic не сможет определить наличие ошибки.

Если же объявить переменную EXLApp, как Excel Application, Visual Basic не только не будет захватывать никакие ссылки на несуществующие элементы, но также выведет список компонентов-членов в списке, как только будет поставлена точка после имени переменной EXLApp.

Иными словами если объявлять переменные, правильно указывая их тип, то синтаксические ошибки будут определены еще на этапе ввода программы. При этом приложение не будет работать неправильно только лишь из за того, что в имени члена допущена орфографическая ошибка. Даже если опция Member AutoList выключена эти ошибки будут определены во время трансляции.

Другое, гораздо более серьезное, последствие правильного объявления типа объекта — эффективность. Когда Visual Basic обнаруживает выражение, подобное EXLApp Property, он должен сначала удостовериться что указанное свойство существует, затем связаться с приложением сервером, предоставившим объект EXLApp, и активизировать его компонент Property. Компилятор вставит дополни­тельные операторы, которые организуют связь с приложением, предоставившим объектную переменную, чтобы удостовериться, что предоставляется запрошенный элемент. Неприятной особенностью является то, что эти операторы будут выпол­няться каждый раз, когда приложение запрашивает компонент объекта EXLApp. Чтобы избежать этой ненужной задержки, следует просто объявить объектную переменную EXLApp, указав соответствующий тип.




Начало  Назад  Вперед



Книжный магазин