Вопрос
Что значит передавать значение функции по ссылке — ByRef? C ByVal вроде бы все ясно — передали значение в функцию — и все. А в каких случаях используется byRef?
Ответ
Цитата из MSDN:
by reference
A way of passing the address, rather than the value, of an argument to a procedure. This allows the procedure to access the actual variable. As a result, the variable's actual value can be changed by the procedure to which it is passed.
В моем переводе:
По ссылке
Способ передачи адреса, отличный чем по значению, как аргумент процедуры. Это позволяет процедуре получить доступ напрямую к переменной. Как результат, фактическое значение переменной может быть изменено процедурой, в которую она передается.
т.е., передал ByValue — процедуре или функции дается КОПИЯ переменной, и если произойдет ее изменение — оно не отразится на значении переданной переменной после отработки.
Когда передаем ByRef (по умолчанию в VB) — программе передается действительный адрес переменной, и ее значение может изменитьтся в ходе выполнения процедуры/функции
Anton Lozovski
Проще говоря, если требуется просто передать значение в процедуру/функцию — используй ByVal (т.е. передать значение) Если передаваемое значение переменной изменится в вызываемой функции и его необходимо вернуть обратно используй ByRef. Но учти, что по умолчанию в VB работает ByRef.
Сергей Л.
Copyright 2000-2004 Сообщество Чайников
Контактная информация