Запуск обновления, проверки программы
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Запуск обновления, проверки программы
С праздниками всех!
Поделитесь опытом, вариантом, как при запуске программы включить обновить или простую проверку целостности программы до ее открытия.
Интересует, чтобы у клиента быстро простым нажатием дополнительной клавиши запустить в программе проверку БД, в форуме где то пробегало, напомните пожалуйста.
Заранее спасибо
Clarion 10, ABC
Поделитесь опытом, вариантом, как при запуске программы включить обновить или простую проверку целостности программы до ее открытия.
Интересует, чтобы у клиента быстро простым нажатием дополнительной клавиши запустить в программе проверку БД, в форуме где то пробегало, напомните пожалуйста.
Заранее спасибо
Clarion 10, ABC
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
- Игорь Столяров
- Ветеран движения
- Сообщения: 8081
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Запуск обновления, проверки программы
ДД !
Извините, но это три разных задачи и у каждой своё решение.
1. Обновление версии программы с проверкой занятости и замещением файлов;
2. Проверка целостности проекта при запуске (версии компонентов EXE и DLL);
3. Проверка целостности БД.
Что именно Вас интересует на выходе из Новогодних праздников (какая задача) ?
Извините, но это три разных задачи и у каждой своё решение.
1. Обновление версии программы с проверкой занятости и замещением файлов;
2. Проверка целостности проекта при запуске (версии компонентов EXE и DLL);
3. Проверка целостности БД.
Что именно Вас интересует на выходе из Новогодних праздников (какая задача) ?

Make Clarion Great Again ! 
Игорь Столяров
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Запуск обновления, проверки программы
Спасибо Игорь.Игорь Столяров писал(а): 06 Январь 2025, 15:46 ДД !
Извините, но это три разных задачи и у каждой своё решение.
1. Обновление версии программы с проверкой занятости и замещением файлов;
2. Проверка целостности проекта при запуске (версии компонентов EXE и DLL);
3. Проверка целостности БД.
Что именно Вас интересует на выходе из Новогодних праздников (какая задача) ?![]()
Сложновато сформулировать вопрос после праздников,

1. При запуске программы, exe файла, программа работает в штатном режиме.
2. Если при запуске программы была нажата например клавиша Ctrl, тогда программа запускалась для проверки БД.
Извините за мой после новогодний французский. )
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
- Игорь Столяров
- Ветеран движения
- Сообщения: 8081
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Запуск обновления, проверки программы
Ну ... при запуске программы проверяйте состояние KEYSTATE() и выполняйте запуск процедуры проверки Вашей БД.
В справке есть подробное описание флагов клавиатуры возвращаемых KEYSTATE().
А вдруг есть только мышь белая ?
В справке есть подробное описание флагов клавиатуры возвращаемых KEYSTATE().
А вдруг есть только мышь белая ?

Make Clarion Great Again ! 
Игорь Столяров
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Запуск обновления, проверки программы
Вещь, в общем-то, тривиальная и нетривиальная одновременно.gopstop2007 писал(а): 06 Январь 2025, 23:34 1. Обновление версии программы с проверкой занятости и замещением файлов;
2. Проверка целостности проекта при запуске (версии компонентов EXE и DLL);

Я гонял проверку целостности компонентов путём сравнения хешей файлов, когда каждый exe сам тестирует себя и модули в момент запуска.
В общем случае проблем никаких (открыл сам себя как файл на чтение, прочитал, подсчитал хеш и счастлив).

Но вот некоторые антивирусы, системы защиты от копирования и много, кто ещё, любят принять такие операции за вирусы или попытки взлома. Хорошо, когда, просто, срубают с диагностикой и можно понять, что делать. Но наталкивался на гадкие "продвинутые" системы, которые ухитрялись втихую подсовывать изменённое содержание файла (каждый раз у одного и того же файла новый хеш). Таких гадин немного, но попадаются.
Как вариант, можно использовать стандартные утилиты типа winget и анализировать их выдачу, что не сложно.
Это я только кажусь дураком! На самом деле я полный идиот!
Губин Игорь
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Запуск обновления, проверки программы
Я тогда пару месяцев убил пытаясь понять причину, пока не вычислил виновного и не "прижал к стенке" службу поддержки, которая, крайне неохотно, но призналась, что "такое есть, но они об этом мне не скажут"Губин Игорь писал(а): 08 Январь 2025, 11:52 Но наталкивался на гадкие "продвинутые" системы, которые ухитрялись втихую подсовывать изменённое содержание файла (каждый раз у одного и того же файла новый хеш). Таких гадин немного, но попадаются.

Это я только кажусь дураком! На самом деле я полный идиот!
Губин Игорь
- Игорь Столяров
- Ветеран движения
- Сообщения: 8081
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Запуск обновления, проверки программы
Мы так не заморачиваемся ...
При сборке в EXE и всех DLL проекта прописывается дата версии (или сборки).
При запуске эти даты мгновенно проверяются и в случае разнобоя выдаётся сообщение.
Крайне редкие ситуации - когда кто-то умышленно подменяет DLL в проекте.
А вот неполное обновление или восстановление резервных копий - бывает и такие проблемы отсекаются.

Make Clarion Great Again ! 
Игорь Столяров
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Запуск обновления, проверки программы
Тут мне проще. Обновление всегда полное и внешним инсталлятором.Игорь Столяров писал(а): 08 Январь 2025, 12:02 А вот неполное обновление или восстановление резервных копий - бывает и такие проблемы отсекаются.


У меня даты сборки отдельных компонентов могу отличаться и значительно.
Это я только кажусь дураком! На самом деле я полный идиот!
Губин Игорь
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)