Здравствуйте, коллеги!
На заметку тем, кто собирается перейти или только-что перешел на C61.
В отличие от предыдущих версий, в C61 обращение к контролам НЕОТКРЫТОГО окна не приводит к GPF!
С одной стороны - хорошо, но с другой - затрудняется отладка. Если раньше GPF заставляло сразу-же искать сбойный участок кода (который довольно легко находился), то теперь можно часами искать причину неверной работы, если инициализация контролов случайно производится до открытия окна!
Сам только что "напоролся" - полчаса искал причину неверной работы конструкции типа ?List{PROP:From} = ListStr.
Она была "завернута" в некоторый код с непростой логикой, и невольно пришлось убедится в его правильной работе, пока не пришла "крамольная" мысль об ошибке отработки именно самого PROP:From!
Удачи!
=============================
С уважением, Олег А. Руденко.
Oleg_Rudenko@mail.ru
Oleg_Rudenko@mail333.com
Библиотека DynaLib
http://dynalib.narod.ru
Написал: ClaList(2)
С61
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Поиграл немного со вчерашним хотфиксом. Прогресс налицо. Во всяком случае, прошел основной тест - пример по новой трейдной модели перестал вешаться 
Перекомпилил три небольших проекта. Два с моно-exe, один мульти-dll.
Процесс прошел гладко, программы заработали с первой попытки. Некоторые нюансы всплыли сразу. Базовые шаблоны ШВС (поправленные) и свои. Во всех проектах MDI.
Наверное по причие моего кода - перестала работать функция закрытия всех окон, в печати браузера "как есть" съехали на строчку заголовки таблицы.
Думаю, это не проблема поправить.
Непонятно стали работать таблицы с переменным именами. Есть tps-таблица, объявленная с атрибутом thread. В строке Name у нее прописана переменная.
Имя таблицы устанавливается в трейде непосредственно перед созданием таблицы. Если переменную для имени объявляем с атрибутом thread, то присвоение значения не срабатывает. Если без thread, то все нормально. Все нормально, если использовать PROP:NAME. Что происходит, понятно, но логика мне не ясна. Впрочем, про это вроде уже говорили.
Вторая непонятка встретилась при работе с мульти-dll проектом. В моно-exe это не наблюдается.
Если войти в программу и открыть одно окно, а затем выйти, то все нормально.
Если открыть более одного окна, то при выходе программа вываливает ошибку, что инструкция по такому-то адресу обратилась к данным по такому-то адресу и память не может быть прочитана. Ошибка вываливается после выполнения последнего оператора программы (стартую с source, а из него вызывается frame). Причину пока не выяснил. Все dll-ки проекта перекомпилированы.
А так общее впечатление уже вполне благоприятное - можно задуматься о миграции.
С уважением,
Вячеслав Черников support@finsoft.ryazan.ru
Написал: ClaList(2)

Перекомпилил три небольших проекта. Два с моно-exe, один мульти-dll.
Процесс прошел гладко, программы заработали с первой попытки. Некоторые нюансы всплыли сразу. Базовые шаблоны ШВС (поправленные) и свои. Во всех проектах MDI.
Наверное по причие моего кода - перестала работать функция закрытия всех окон, в печати браузера "как есть" съехали на строчку заголовки таблицы.
Думаю, это не проблема поправить.
Непонятно стали работать таблицы с переменным именами. Есть tps-таблица, объявленная с атрибутом thread. В строке Name у нее прописана переменная.
Имя таблицы устанавливается в трейде непосредственно перед созданием таблицы. Если переменную для имени объявляем с атрибутом thread, то присвоение значения не срабатывает. Если без thread, то все нормально. Все нормально, если использовать PROP:NAME. Что происходит, понятно, но логика мне не ясна. Впрочем, про это вроде уже говорили.
Вторая непонятка встретилась при работе с мульти-dll проектом. В моно-exe это не наблюдается.
Если войти в программу и открыть одно окно, а затем выйти, то все нормально.
Если открыть более одного окна, то при выходе программа вываливает ошибку, что инструкция по такому-то адресу обратилась к данным по такому-то адресу и память не может быть прочитана. Ошибка вываливается после выполнения последнего оператора программы (стартую с source, а из него вызывается frame). Причину пока не выяснил. Все dll-ки проекта перекомпилированы.
А так общее впечатление уже вполне благоприятное - можно задуматься о миграции.
С уважением,
Вячеслав Черников support@finsoft.ryazan.ru
Написал: ClaList(2)

Неделю болел и решил 6.1 попробовать (на графики и отчеты в файлы повелся, раньше ручками делал).
Перекомпилил простенькую прогу с АВС темплейтами. Чуда не получилось.
TPS-таблицы объявлены без thread. Из фрейма вызывается browse с MDI окном.
Если из фрейма с открытым browse окном вызвать процедуру фильтра с SDI окном, то события LOSEFOCUS а при возвращении в browse GAINFOCUS перестали генерится. Посмотрел, вообще ничего в этом случае не генерится.
Далее, если до процедуры фильтра вызвать еще одну процедуру, все прога летит. Это не смертельно, все лечится, но ... Где то даже читал, что в новой трейд модели лучше все объявлять с атрибутом thread, но вот насчет фокусов теряюсь в догадках.
Сергей
Написал: ClaList(2)
Мне кажется, хотфиксы только ухудшают ситуацию. По крайней мере, в последнем у меня испортились курсоры (у любого курсора сверху чёрная линия), до сих пор странно ведут себя тулбары и меню на MDI-окнах. Например, перед выходом из программы выводится моё окно с запросом подтверждения (не стандартный диалог) и в этот момент весь интерфейс может исчезнуть. А может и не. Падение MDI - приложения в момент завершения - нонсенс полнейший. С именами файлов вроде всё работает, но у меня ABC...
Насчёт того, что пора бы уже и разобраться с переключением языка, я и не говорю.
А сейчас ковыряюсь с бесхитростной процедурой в MDI-окошке, которая падает при третьей попытке её открыть. Почему при третьей - кто бы объяснил...

--
C уважением
Yuri
Адрес:yufil@mail.ru
Написал: ClaList(2)
Насчёт того, что пора бы уже и разобраться с переключением языка, я и не говорю.
А сейчас ковыряюсь с бесхитростной процедурой в MDI-окошке, которая падает при третьей попытке её открыть. Почему при третьей - кто бы объяснил...
Подожди ещё лет пять. Куда торопиться-то?А так общее впечатление уже вполне благоприятное - можно задуматься о миграции.

--
C уважением
Yuri
Адрес:yufil@mail.ru
Написал: ClaList(2)