Страница 169 из 197
Clarion 11-12
Добавлено: 05 Октябрь 2024, 20:28
Губин Игорь
finsoftrz писал(а): 05 Октябрь 2024, 20:25
Я специально привел пример с byte. В этом случае семафоры не нужны.
Так глубоко не раскапывал. У меня там какие только типы не встречается. Т.ч. дую на воду.
Clarion 11-12
Добавлено: 05 Октябрь 2024, 20:45
finsoftrz
Посмотрел. Действительно, в обычной ситуации с глоболами все нормально. Проблема всплывает вокруг строки поиска на тулбаре. Там нюанс в том, что это поле должно иметь глобальную нетредную метку, чтобы было доступно из дочернего окна. А с этой меткой связано и вводимое значение. Я это купировал в основном, переведя установку и получение значения через ссылку на класс, объявленный в фрейме. Хотя иногда и в этом случае козлит, очищает значение. Причем это происходит где-то внутрях системы управления потоками и проявляется лишь изредка и рандомно.
Последние пару дней у меня среда взбесилась. Или я расслабился, давно все работало достаточно стабильно. А тут прямо звездопад багов полез, раз 10 и вылетало, и висло, и изменения не сохраняло, и кодогенератор бредовые сообщения начинал выводить. Аж страшно стало за проект. Сейчас вроде поутихло.
Clarion 11-12
Добавлено: 05 Октябрь 2024, 21:27
Игорь Столяров
finsoftrz писал(а): 05 Октябрь 2024, 20:45
Последние пару дней у меня среда взбесилась
Растрелять и переставить ! (С) Сталин
Clarion 11-12
Добавлено: 05 Октябрь 2024, 21:32
finsoftrz
Да не, они там всегда были. Просто в процессе работы выработалась определенная последовательность действий, чтобы туда не наступать или снижать вероятность возникновения. А в последние 2 дня я добавлял и изменял структуру в таблицах, глобалах, импортировал через txa и т.п., что не так часто обычно делается и некоторые моменты подзабылись. Вот и поперло с разных сторон.
Clarion 11-12
Добавлено: 14 Октябрь 2024, 23:56
finsoftrz
Обойти проблему недоступности полей ввода в toolbox окнах все же можно. Для этого после открытия окна сказать window{prop:toolbox} =false. Как ни странно, окно сохраняет свойство быть всегда поверх других окон. В остальном ведёт себя как обычное окно. При щелчке в нем фрейм не передергивает, белая полоса не появляется. Разница с с6 в том, что окно не mdi child, когда фокус на нем, то заголовок фрейма сигнализирует отсутствие фокуса, а само окно можно перетащить за границы фрейма. Это небольшой косметический дефект, который не особо мешает и можно объяснить как особенность интерфейса.
Если использовать обратный порядок, сделать окно mdi, а после открытия сказать window{prop:toolbox} =true, то вешается при переключении между приложениями.
Clarion 11-12
Добавлено: 15 Октябрь 2024, 7:57
Губин Игорь
Странно ведёт себя Clarion под Windows 11...

(вынужденно переполз на новый ноутбук).
Ощущение, что среда как-то "рассинхронизируется". Привык, что после компиляции сразу вылезает окно с ошибками. А тут какая-то непонятная пауза в 1-2 секунды. Может от того, что компиляция пошла быстрее... В общем, приходится держать себя в руках и не начинат орать "где мой список ошибок"

Clarion 11-12
Добавлено: 15 Октябрь 2024, 14:05
ingasoftplus
Губин Игорь писал(а): 15 Октябрь 2024, 7:57
Странно ведёт себя Clarion под Windows 11
У меня (вин10) иногда вообще не показывает окно результата компиляции. Приходится принудительно открывать...
Clarion 11-12
Добавлено: 15 Октябрь 2024, 14:13
Губин Игорь
ingasoftplus писал(а): 15 Октябрь 2024, 14:05
У меня (вин10) иногда вообще не показывает окно результата компиляции. Приходится принудительно открывать...
С подобным не сталкивался.
Clarion 11-12
Добавлено: 15 Октябрь 2024, 14:33
finsoftrz
ingasoftplus писал(а): 15 Октябрь 2024, 14:05
У меня (вин10) иногда вообще не показывает окно результата компиляции. Приходится принудительно открывать...
Тоже не сталкивался с таким. Бывает, если сборка в свернутом окне среды, в окне out не отображается ход выполнения, только одна итоговая строчка, что ошибок 0. Это несколько сбивает с толку.
Clarion 11-12
Добавлено: 19 Октябрь 2024, 9:23
finsoftrz
Такой эффект в рантайме с11 наблюдаю. Открыты окна в нескольких потоках (в 2-3 для примера). В одном потоке открываем второе окно, например, форму из броуза. Затем в этой форме нажимаем кнопку выбора из какого-нибудь справочника, открываем третье окно в потоке. Второе окно формы уходит на задний план и вместо него оказывается окно из другого потока. Само окно выбора остаётся сверху. Закрываем его, возвращается на второе окно формы, как положено. Окно из другого потока снова уходит на задний план.
Эффект проявляется рандомно и только изредка, точной последовательности действий для воспроизведения нет. Хотел спросить, никто подобного не замечал?
Clarion 11-12
Добавлено: 19 Октябрь 2024, 10:15
Губин Игорь
finsoftrz писал(а): 19 Октябрь 2024, 9:23
Эффект проявляется рандомно и только изредка, точной последовательности действий для воспроизведения нет. Хотел спросить, никто подобного не замечал?
Известная фича. Появилась при попытке исправить глюк рантайма с окном на переднем плане под AnyScreen. В результате и там и там работает не очень. Лечится принудительным PROP:Active
Clarion 11-12
Добавлено: 19 Октябрь 2024, 17:53
finsoftrz
Спасибо за информацию. Поставил system{prop:active}=thread() перед открытием окна. Понаблюдаю.
Clarion 11-12
Добавлено: 20 Октябрь 2024, 14:50
Губин Игорь
finsoftrz писал(а): 19 Октябрь 2024, 17:53
system{prop:active}=thread()
Я делаю Windows(PROP:Active} = TRUE
Clarion 11-12
Добавлено: 20 Октябрь 2024, 19:04
finsoftrz
Губин Игорь писал(а): 20 Октябрь 2024, 14:50
finsoftrz писал(а): 19 Октябрь 2024, 17:53
system{prop:active}=thread()
Я делаю Windows(PROP:Active} = TRUE
После открытия окна? Мне это не помогло. При варианте с system перед открытием окна пока проблема больше не проявлялась.
Ещё пара наблюдений. В с6 после открытия окна focus() выдавал номер контрола, на который произошло позиционирование. В с11 выдает 1, хотя первым может быть, например, sheet. В некоторых ситуациях это может вызвать проблему. Лечится принудительным post(event:selected,?Field) на событии openwindow.
Как уже обсуждалось, окна с float toolbox работают криво. Если окно с toolbox зафиксировано (right, left и тп), то выглядит приемлемые. Ну и тут есть нюанс. Если пытаться открыть в том же потоке mdi окно, то оно открывается, но первое окно (которое по смыслу нижнее) продолжает быть доступным. При этом появляется белая полоса во весь экран. Если в этой ситуации стартануть из тулбокса какую-то процедуру в другом потоке, то получаем gpf на выходе из приложения. То есть, судя по всему, нельзя запускать из тулбокса другие оконные процедуры в его потоке. В с6 все работает корректно.
Clarion 11-12
Добавлено: 20 Октябрь 2024, 19:27
Игорь Столяров
На мой взгляд, подобные вопросы лучше задавать на ClaHUB ..
Только не в виде литературного пересказа, а с конкретным примером и описанием.
Там есть юзеры которые таким интересуются, действительно будут проверять и понимают как такие проблемы можно решить.
Мне недавно выдали ClaRUN.DLL с изменённой моделью управления потоками, правда я очкую его использовать.

Это если Вам действительно нужно решение, а не сочувствие и неработающие костыли.
