AnDS писал(а):
Т.е. одновременно открывается несколько окон в одной процедуре.
Хмм... И как ты себе это представляешь? Я имею в виду одновременное открытие нескольких окон в ОДНОЙ процедуре! Одна процедура - один поток. В потоке может быть только ОДНО активное окно. Т.е., ты можешь, конечно, делать вложенные ACCEPT-циклы, но работать сможешь только в последнем. И пока его не закроешь - не сможешь работать в другом. Таким образом, получается - понасоздаешь несколько окон, а работать сможешь только в последнем! При этом, переключать фокус между ними не сможешь! И пока не закроешь текущее активное окно - не получишь доступ к предыдущему! Ну, и какой при этом смысл в открытии нескольких окон?
А если ты имел в виду одновременное открытие нескольких окон через START новых потоков с возможностью переключения между ними, то кто тебе мешает описать в процедуре, которую START-ушь в новом потоке, пустое окно и при открытии такой процедуры наполнить это окно нужными контролами и создать полноценное окно? Это довольно легко реализуется в стандартной концепции Клариона!
Т.е., при запуске нового потока передаешь в эту процедуру адрес группы или очереди, в которой содержиться описание всех необходимых контролов, которые должны присутствовать в новом окне - по этой информации формируешь окно в необходимой конфигурации.!
AnDS писал(а):PS. Кстати, пример CCTRL мне очень понравился.
Два вопроса:
Почему никто это не использует?
Список контролов, которые можно создать, полный или можно еще какие-нибудь создавать?
В том примере используется вариант создания контролов, которых нет в самом Кларионе. И, естественно, они создаются через WinAPI.
Но большинство контролов, которые используются для работы пользователя, реализованы в Кларионе и для их создания нет необходимости в довольно сложных манипуляциях с WinAPI - достаточно обычного оператора CREATE!
Т.е., с помощью этого оператора можно создавать ВСЕ контролы, которые доступны для окна в Кларионе. А те контролы, которых нет в арсенале Клариона, можно создать с помощью WinAPI. Таким образом можно создать практически любой контрол, доступный для Windows.