Поясните разницу!!!
-
Alex89
- adviser
- Сообщения: 202
- Зарегистрирован: 04 апр 2010, 18:20
- Награды: 1
- Версия LabVIEW: 2009 SP1
- Откуда: Санкт-Петербург
Поясните разницу!!!
Поясните подробно, пожалуйста, мне разницу между терминами path, reference и refnum! В каких случаях используется тот и или иной термин в . Хотелось бы с примерами.. так откладывается лучше. Буду очень признателен!
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Поясните разницу!!!
Path это путь к какой нибудь папке или файлу.
Reference и Refnum почти одно и тоже, здесь я и сам сомневаюсь, но думаю что Reference это прямой указатель на участок памяти, а Refnum это виртуальный идентификатор обьекта в какой нибудь библиотеке. Я могу ошибаться, но мне кажется, что это так.
Reference и Refnum почти одно и тоже, здесь я и сам сомневаюсь, но думаю что Reference это прямой указатель на участок памяти, а Refnum это виртуальный идентификатор обьекта в какой нибудь библиотеке. Я могу ошибаться, но мне кажется, что это так.
-
Alex89
- adviser
- Сообщения: 202
- Зарегистрирован: 04 апр 2010, 18:20
- Награды: 1
- Версия LabVIEW: 2009 SP1
- Откуда: Санкт-Петербург
Re: Поясните разницу!!!
Спасибо. Похожие мысли и у меня... Но я вот никак не пойму, когда мы используем функции работы с файлом, почему после Open/Create/Replace File мы всегда оперируем именно refnum? Почему нельзя везде использовать path? С property тоже самое... Видимо reference используют, когда может быть несколько экземпляров одного объекта...
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Поясните разницу!!!
Файл открывается с помощью пути с определёнными настройками, например Read Only (тогда запись в файл из внешних источников не блокируется, по-моему), система отдаёт референс на файл, а у себя помечает, что этот файл открыт Read Only. Тоже самое происходит, если файл открывается Read/Write, тогда система включает блокировку на запись из внешних источников в этот файл. Разницу чуствуешь?
Когда мы закрываем файл с помощью данного референса, то система снимает блокировку на запись в файл и им могут пользоваться все.
Вот, а если бы мы всегда открывали файл с помощью Path, то допустим система допустим даже бы и включила блокировку, но не знала бы когда её потом снять. Когда бы мы закрыли его опять с помощью Path наверное?! Но откуда системе знать, что это именно мы "забивали" этот файл?
В общем система как бы ведёт внутри таблицу: Reference Path ReadFlag WriteFlag и т.д.
По референсу определяется связь User<->File.
Если непонятно обьяснил, могу попытаться ещё найти какой нибудь более понятный пример.
Когда мы закрываем файл с помощью данного референса, то система снимает блокировку на запись в файл и им могут пользоваться все.
Вот, а если бы мы всегда открывали файл с помощью Path, то допустим система допустим даже бы и включила блокировку, но не знала бы когда её потом снять. Когда бы мы закрыли его опять с помощью Path наверное?! Но откуда системе знать, что это именно мы "забивали" этот файл?
В общем система как бы ведёт внутри таблицу: Reference Path ReadFlag WriteFlag и т.д.
По референсу определяется связь User<->File.
Если непонятно обьяснил, могу попытаться ещё найти какой нибудь более понятный пример.