|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.12.2017, 06:31 | #1 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Очистить Record
Есть
Код:
Код:
Код:
Как правильно очистить Record? |
25.12.2017, 09:40 | #2 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 25.12.2017 в 09:43. |
|
25.12.2017, 09:46 | #3 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
MyRecord: TMyRecord уже у вас объявлен в памяти
FillChar(MyRecord, SizeOf(MyRecord), 0); Не на какую память не повлияет Для вашего спокойствия можно так FillChar(Pointer(MyRecord)^, SizeOf(TMyRecord), 0); либо так Finalize(Pointer(MyRecord)^); А если бы вы сами выделяли память например так Код:
Последний раз редактировалось Aliens_wolfs; 25.12.2017 в 09:54. |
25.12.2017, 10:26 | #4 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 25.12.2017 в 10:31. |
||
25.12.2017, 10:35 | #5 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Ну тогда так для строк
Код:
Код:
Последний раз редактировалось Aliens_wolfs; 25.12.2017 в 10:40. |
25.12.2017, 11:22 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
что подтверждает сказанное выше:
Цитата:
он и обязан следить за корректностью заполнения и очистки. И использовать "хакерские" способы очистить память нужно крайне осторожно и аккуратно. (а лучше вообще не использовать ) в данном случае вполне достаточно: Код:
|
|
25.12.2017, 11:45 | #7 | |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Цитата:
Ну а со строковыми согласен в ручную их обычно мало бывает По отдельности чистить много переменных это запара и что то можно пропустить. Тогда наверное лучше задавать самому в память MyRecord и ложить например в TList и TListObject для контроля и массива, а потом ее просто уничтожать Код:
Последний раз редактировалось Aliens_wolfs; 25.12.2017 в 11:58. |
|
25.12.2017, 11:57 | #8 | ||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
написать для этого Код:
Код:
Цитата:
Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 25.12.2017 в 12:11. |
||||
25.12.2017, 12:03 | #9 | ||
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Цитата:
Цитата:
Последний раз редактировалось Aliens_wolfs; 25.12.2017 в 12:17. |
||
25.12.2017, 12:23 | #10 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Цитата:
Цитата:
был FillChar -- получили описанное выше. изменили структуру --> изменили процедуру очистки. именно поэтому(не только) и появились классы (структура ВМЕСТЕ с процедурами для их обработки).
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 25.12.2017 в 12:27. |
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очистить массив | Shouldercannon | Общие вопросы Delphi | 3 | 24.12.2017 22:07 |
Использование record в record | Anton911 | Общие вопросы Delphi | 7 | 03.05.2012 08:49 |
очистить $_POST[] | BaiAs | PHP | 2 | 24.01.2011 15:47 |
В чём различие записей Record от Packed Record? | Terran | Общие вопросы Delphi | 7 | 08.06.2010 17:14 |
Record / Packed Record | Alex Cones | Общие вопросы Delphi | 7 | 11.11.2009 10:43 |