powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / экземпляры формы
5 сообщений из 30, страница 2 из 2
экземпляры формы
    #33488981
S866
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Krushinskaya Olga

Я конечно извиняюсь - но почему вы массив Forms() Стэком обзываете .
СТЭК насколько я помню это первый пришел - последний вышел.
а в Forms() - произвольный доступ к любому элементу массива.

или я не прав?
...
Рейтинг: 0 / 0
экземпляры формы
    #33489031
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стеки бывают разные: FIFO (то, что вы описали), LIFO
Дело в том, что в массив FORMS VFP помещает формы по очередности создания.
С уважением, Алексей
...
Рейтинг: 0 / 0
экземпляры формы
    #33489043
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S866Я конечно извиняюсь - но почему вы массив Forms() Стэком обзываете .
СТЭК насколько я помню это первый пришел - последний вышел.
а в Forms() - произвольный доступ к любому элементу массива.

или я не прав?
Потому что этот массив во многом похож на стек.

При открытии новой формы она оказывается в массиве Forms() с индексом 1. Т.е. не последняя, а первая в списке. Происходит сдвиг всей "очереди".

Правда, при определенных условиях, форма может поменять индекс в массиве Forms. Но это событие связано с явным перемещением форм на передний план. Не просто сделали активной форму, а именно программно вытащили наверх. По сути, изменили стек вызова.

Соответственно, при закрытии форм содержимое массива Forms() постоянно сдвигается.

На этой особенности построено большинство процедур автоматического закрытия всех открытых форм. В порядке их следования.
...
Рейтинг: 0 / 0
экземпляры формы
    #33489713
S866
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо я вас Aleksey-K и ВладимирМ понял - принцип заполнения Forms() фоксом как у стэка - и он именно похож - основное отличие - у стэка доступ только к одному верхнему элементу СТЭКА а здесь а программиста произвольный доступ к Forms().
...
Рейтинг: 0 / 0
экземпляры формы
    #33493128
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Aleksey!

Строго формально FIFO - т.е. "первый пришёл, первый ушёл" - это не стек а
очередь, а вот LIFO это как раз стек - и s866 как раз в этом смысле
говорил...
_SCREEN.FORMS() - это не есть ни стек ни коллекция в чистом виде - поскольку
заполняется то она как стек (причём внутренними, недоступными нам
процедурами самой среды) - а вот доступ к элементам обеспечивается
произвольный - при этом для коллекции _VFP.Forms() не только по индексу но и
по имени формы (но с ограничениями).

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / экземпляры формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]