Турбо Паскаль 6.0

Равные экземпляры видимого элемента.


Аналогичная ситуация возникает, когда видимый элемент имеет поле, указывающее на равный ему видимый элемент. Видимый элемент называется равным другому видимому элементу, если оба видимых элемента принадлежат одной группе. Хороший пример - скроллер. Поскольку скроллер знает о двух полосах скроллинга, являющихся элементами окна, которому принадлежит скроллер, он имеет два поля, которые указывают на эти видимые элементы. Как и с видимыми подэлементами, у Вас могут быть проблемы при чтении и записи ссылок на равные видимые элементы в поток. Решение также просто. Методы PutPeerViewPtr и GetPeerViewPtr предназначены для доступа к позиции другого видимого элемента в списке подобъектов владельца. Нужно заботится только о загрузке ссылок на равные видимые элементы, который еще не загружены (т.е. они стоят позже в списке подэлементов и следовательно позже в потоке). Turbo Vision обрабатывает это автоматически, сохраняя трассу всех таких ссылок вперед и разрешая их, когда все подэлементы группы будут загружены. Вам необходимо помнить, что ссылки на равные видимые элементы не действительны до тех пор, пока не будет завершен весь Load. Вследствие этого Вы не должны помещать в метод Load код, который использует подэлементы, зависящие от равных подэлементов, иначе результаты будут непредсказуемы.



Содержание раздела