Форум » GUI » Неоднозначное поведение EXEшника » Ответить

Неоднозначное поведение EXEшника

alex_II: При многократном запуске программы, получаю иногда станности в её поведении: - Кнопки тулбара разных окон начинают вызывать другие процедуры, причем всякий раз разные. Разные при разных запусках программы. Кнопки описаны обычным образом: BUTTON Button_Exit PICTURE 'Exit32' TOOLTIP ' Выход из программы . . . . Alt+F4 ' ACTION GoOut() - В окне предосмотра печати библиотеки HBPrinter заменяются изображения на кнопках тулбара на другие (стрелками навигации) Не скажу что это происходит часто, но в неделю пару раз случается. Привязки к конкретному релизу minigui не наблюдается (проблема присутствует во всех) Проверено также на нескольких машинах. Использую BCC 5.5.1, Build 49 (HMG 1.4 Extended Edition) Published. Работаю с исходниками в xMate 1.15 Правда проект не маленький, текстов порядка 1.2 Мб, програмных файлов более 70, процедур думаю около 400 или 500, не считал специально. Может проблема в разбухшей программе и BCC не справляется толком(не зря бесплатный) Может ситуацию можно исправить поиграв ключиками BCC Жду мнения специалистов.

Ответов - 6

gfilatov: alex_II пишет: Жду мнения специалистов Во-первых, большое спасибо за информацию! Об этих проблемах уже писали на бразильском форуме alex_II пишет: Может проблема в разбухшей программе Да, это основной источник проблемы, поскольку библиотека создает множество Public переменных при интенсивной работе программы. Я попытался внести некоторые изменения в новом релизе для решения этой проблемы. В частности, рекомендую уже сейчас попробовать пересобрать библиотеку с отключенной переменной //#define _ZEROPUBLIC_ в файле include\minigui.ch. Жду от Вас дальнейшей информации о результатах

alex_II: Отключил переменную _ZEROPUBLIC_, прошло 3 дня, пока полет нормальный. Попробовал перейти на 50 релиз, EXEшник создается но молча закрывается, окно программы не появляется, никаких сообщений об ошибках нет

gfilatov: alex_II пишет: EXEшник создается но молча закрывается Эта проблема уже локализована: некорректна библиотека libct в Харбор сборке этого релиза. Решение тривиально - надо заменить библиотеку libct.lib в папке minigui\harbour\lib такой же из поставки 49-го релиза. После этого все гарантировано работает


alex_II: Есть смысл отключить переменную _ZEROPUBLIC_ в 50 релизе?

gfilatov: alex_II пишет: Есть смысл отключить переменную _ZEROPUBLIC_ в 50 релизе? Да, конечно, если Вы хотите уменьшить потребление оперативной памяти за счет удаления временных Public пременных

alex_II: Проблему кардинально решить не удалось, хотя проявляться она стала реже. Думаю еще сказалась проведенная оптимизация кода моего проекта, ехешник уменьшился на 300Кб



полная версия страницы