четверг, 29 октября 2009 г.

Наследование переменных данных



Наследование данных
Данные сохраняются в параметрах (в переменной или постоянной форме) и используются компонентами. Если данные не сохранены в наборе постоянных записей параметра, то они должны быть получены откуда-то извне. Каждый параметр (за исключением выходных) определяет, где он берет свои данные и для большинства параметров не принципиально. Вы можете присоединить к параметру типа double (двойной точности) целочисленный источник, и он будет правильно конвертирован в тип double. ГХ поддерживает множество схем конвертации, но если процедура трансляции не определена, то параметр на принимающем конце может генерировать ошибку конвертации. Например, если вы подключите вместо точки поверхность, к параметру с типом данных Point, то он выдаст сообщение об ошибке (доступ к нему можно получить через контекстное меню параметра) и окрасится красным цветом. Если параметр принадлежит компоненту, то его ошибочное значение может вызвать ошибки ниже по иерархии дефинишена, и другие компоненты тоже могут окраситься в красный цвет, хотя сами по себе и не содержат ошибок.

Управление соединениями
Когда для параметра заданы источники данных, вы можете получить доступ к этим настройкам через контекстное меню параметра. Создадим небольшой дефинишен, содержащий три компонента и два параметра:


 
На данном этапе объекты не соединены друг с другом и нам нужно их соединить. Не важно в каком порядке вы будете это делать. Мы начнем соединять слева на право. Если вы начнете перетаскивать указатель мыши вблизи маленькой окружности параметра (ее еще называют “grip” – захват, ручка), то за мышью потянется пунктирная соединительная нить:



Как только мышь (с нажатой левой кнопкой) окажется над потенциальной целевой точкой параметра, нить прилипает к целевой точке и становится сплошной. Но это соединение не постоянно, пока вы не отпустите кнопку мыши:


Мы повторим тоже самое для параметра “Y” компонента PtGrid и параметров "A" и "B" компонента Line : Захват + Перетаскивание + Отпускание...


 

Отметим, что мы можем сделать из одной точки несколько соединений сразу. Но будьте осторожны, по умолчанию новое соединение удаляет существующие для этой точки. Поскольку предполагается, что мы наиболее часто используем только одно соединение. Для задания нескольких соединений необходимо придерживаться некоторого порядка их создания. Если вы будете удерживать клавишу Shift, когда создаете соединение, то указатель мыши сменит вид (рядом с курсором появится знак «+»). Это свидетельствует, что указатель находится в режиме добавления:



Если курсор с «+» активен в момент отпускания кнопки мыши над исходным параметром, то параметр добавится в список исходных. Если вы задаете исходный параметр, который уже определен как исходный, то ничего не произойдет. Вы не можете получать данные из одного источника более чем один раз.

Аналогично, если удерживать Ctrl, то появляется знак «–» и целевой источник удаляется из списка источников. Если целевой объект ни к чему не подключен, то ни чего не произойдет.



Также можно разъединить источники (но не соединить) через контекстное меню параметра:



ГХ поддерживает передачу информации и без использования соединительных линий. Путем использования специального компонента Receiver, который можно найти в подразделе Special вкладки Params. Вы можете установить соединение с ресивером, так же как и с другими компонентами. Однако, как только вы убираете кнопку мыши, с ресивера, то соединительная линия исчезает. Это происходит потому, что настройки ресивера по умолчанию установлены на отображение соединительной линии, только когда ресивер выделен. Через контекстное меню ресивера вы можете выбрать отображение соединения «когда выбран», «всегда» или «никогда». Выход ресивера можно подключить к любому количеству необходимых компонентов.



Здесь, пунктирная соединительная линия показана, потому что компонент ресивер выделен.



Число 1 перед входом ресивера показывает, что к ресиверу подключено только одно соединение. Но т.к. ресивер не выделен, то соединительная линия не видна.


Комментариев нет:

Отправить комментарий

Интересные линки