Поясните разницу!!!

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
Alex89

Activity
adviser
adviser
Сообщения: 202
Зарегистрирован: 04 апр 2010, 18:20
Награды: 1
Версия LabVIEW: 2009 SP1
Откуда: Санкт-Петербург

Поясните разницу!!!

Сообщение Alex89 »

Поясните подробно, пожалуйста, мне разницу между терминами path, reference и refnum! В каких случаях используется тот и или иной термин в :labview: . Хотелось бы с примерами.. так откладывается лучше. Буду очень признателен!
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Поясните разницу!!!

Сообщение Eugen Graf »

Path это путь к какой нибудь папке или файлу.
Reference и Refnum почти одно и тоже, здесь я и сам сомневаюсь, но думаю что Reference это прямой указатель на участок памяти, а Refnum это виртуальный идентификатор обьекта в какой нибудь библиотеке. Я могу ошибаться, но мне кажется, что это так.
Аватара пользователя
Alex89

Activity
adviser
adviser
Сообщения: 202
Зарегистрирован: 04 апр 2010, 18:20
Награды: 1
Версия LabVIEW: 2009 SP1
Откуда: Санкт-Петербург

Re: Поясните разницу!!!

Сообщение Alex89 »

Спасибо. Похожие мысли и у меня... Но я вот никак не пойму, когда мы используем функции работы с файлом, почему после Open/Create/Replace File мы всегда оперируем именно refnum? Почему нельзя везде использовать path? С property тоже самое... Видимо reference используют, когда может быть несколько экземпляров одного объекта...
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Поясните разницу!!!

Сообщение Eugen Graf »

Файл открывается с помощью пути с определёнными настройками, например Read Only (тогда запись в файл из внешних источников не блокируется, по-моему), система отдаёт референс на файл, а у себя помечает, что этот файл открыт Read Only. Тоже самое происходит, если файл открывается Read/Write, тогда система включает блокировку на запись из внешних источников в этот файл. Разницу чуствуешь?
Когда мы закрываем файл с помощью данного референса, то система снимает блокировку на запись в файл и им могут пользоваться все.

Вот, а если бы мы всегда открывали файл с помощью Path, то допустим система допустим даже бы и включила блокировку, но не знала бы когда её потом снять. Когда бы мы закрыли его опять с помощью Path наверное?! Но откуда системе знать, что это именно мы "забивали" этот файл?

В общем система как бы ведёт внутри таблицу: Reference Path ReadFlag WriteFlag и т.д.
По референсу определяется связь User<->File.

Если непонятно обьяснил, могу попытаться ещё найти какой нибудь более понятный пример.
Аватара пользователя
Alex89

Activity
adviser
adviser
Сообщения: 202
Зарегистрирован: 04 апр 2010, 18:20
Награды: 1
Версия LabVIEW: 2009 SP1
Откуда: Санкт-Петербург

Re: Поясните разницу!!!

Сообщение Alex89 »

Все ясно. Спасибо.
Ответить

Вернуться в «Для чайников»