Поток
Открою Вам страшную тайну: линия связи в редакторе HiAsm - это обыкновенный вызов продпрограммы в результирующих кодах, который исходит из правой (или верхней) точки элемента. Но при горизонтальных вызовах, еще и передается аргумент - эти самые данные из того самого потока. Но они передаются не просто числом или указателем, а с дополнительной информацией (байтом) о типе этих данных. А один из типов - NULL, который интерпретируется методом-приемником как отсутствие данных.
При вертикальных связях, как правило, все наоборот: в аргументе вызова ничего не передается, но данные возвращаются. По крайней мере, тот элемент, который делал вызов подпрограммы, пытается их интерпретировать как результат. Но бывает и чуть-чуть по другому. Пример: элементы Array и GetData (да, пожалуй, и все), пытаясь получить данные, передают наверх в качестве аргумента индекс.
Данные в потоке есть почти всегда, но, может быть, не те, что нужно. А иногда бывает, что элемент надо попросить использовать нулевое внутреннее свойство, а ненулевой поток перебьет приоритетом эти данные (сейчас это так). Тогда в поток вставляют данные типа NULL. То есть, наоборот, убирают.
Если Вы будете запрашивать элемент массива с несуществующим индексом/именем - то получите NULL, а элемент Array, при этом, не даст вызова события на выход. Да и Stream неоткрытого файла вернет, наверное, тоже NULL.
|
Ответов: 9906
Рейтинг: 351
|
|||
| карма: 9 |
|



Поиск
Друзья
Администрация