Целостность multi-DLL проекта

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
kreator
✯ Ветеран ✯
Сообщения: 4324
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Целостность multi-DLL проекта

Сообщение kreator »

Дата изменения - это дата последней записи в файл. Она не меняется при копировании и т.д. В GetFileDate это значение вытаскивается по умолчанию (при отсутствии второго параметра). Думаю и в Directory она же.
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2621
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

Целостность multi-DLL проекта

Сообщение Дед Пахом »

Если загружать dll с FTP, то дата изменения (вроде бы) меняется на текущую.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5584
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Целостность multi-DLL проекта

Сообщение Игорь Столяров »

Дед Пахом писал(а): 13 Октябрь 2021, 20:41 Если загружать dll с FTP, то дата изменения (вроде бы) меняется на текущую.
Есть много нюансов с архиваторами, программами резервного копирования и т.д.
И вообще это совсем не правильно определять версию DLL по внешней дате файла.
«V» значит Вендетта !
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2621
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

Целостность multi-DLL проекта

Сообщение Дед Пахом »

Есть ещё CRC.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5584
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Целостность multi-DLL проекта

Сообщение Игорь Столяров »

Достаточно трудно в использовании.

1. Нужно после сборки проекта записывать хеш всех DLL файлов проекта в какой-то лог.
Не очень большая - но всё-таки дополнительная операция.

2. А вот загружать в память все DLL считать их хеш при каждом запуске программы - уже медленно. :(

Правильный путь через WinAPI - надо разбираться с GetFileVersionInfoA().
«V» значит Вендетта !
kreator
✯ Ветеран ✯
Сообщения: 4324
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Целостность multi-DLL проекта

Сообщение kreator »

Дед Пахом писал(а): 13 Октябрь 2021, 20:41 Если загружать dll с FTP, то дата изменения (вроде бы) меняется на текущую.
Передавайте архивом.
Вообще загнаться можно. И Api будет врать.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5584
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Целостность multi-DLL проекта

Сообщение Игорь Столяров »

Дед Пахом писал(а): 13 Октябрь 2021, 16:51 https://stackoverflow.com/questions/940 ... r-exe-file
Ещё раз спасибо, всё сделал по науке. И это была интересная охота ! :)

Когда уже разобрался в вопросе, то понял что элементарную базовую проверку
можно сделать и штатными средствами Clarion (и это решило бы мой вопрос):

Код: Выделить всё

  If System{Prop:ExeVersion,3} <> System{Prop:LibVersion,3} then Message('Houston, we have a problem !').  
«V» значит Вендетта !
Ответить