![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка данных в памяти
Slapy © (2009-04-23 14:23:00)Можно ли получить CRC переменной данного типа, обращаясь не к полям, а к памяти, выделенной под запись?
Во время работы программа хранит в памяти данные, иногда их редактирует. Надо обеспечить возможность проверки того, что данные в памяти программы не были изменены из вне. Т.е. после очередного редактирования надо получать CRC записи, где-то его сохранять, а при следующем редактировании опять получать CRC и сравнивать с предыдущим. Реально ли это сделать универсально? Что-то вроде вычисления CRC памяти, выделенной под переменную. Не хотелось бы в каждом случае писать выражение, в котором необходимо указать все поля записи, а при добавлении нового поля редактировать это выражение.
Пример записи:
TDataItem = record
a: integer;
b: array of record
c: integer;
d: integer;
end;
e: integer;
f: string;
g: boolean;
end;
Сергей М. (2009-04-23 14:49:00) [1]Можно.
Но смысла в этом нет, потому что в составе структуры есть поля, суть которых есть указатель: b, f