![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#41 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Согласен. Мы с ним в этом схожи.
Ну а так, как вариант, если нельзя но очень хочется вам как? Ведь работает же гадина |
![]() |
![]() |
![]() |
#42 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
В том-то и дело, что не работает.
Код:
P.S. Вероятно, в таком варианте глупость подобных проверок будет более очевидна: Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#43 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Как раз, при использовании TSibObject, все становится на свои места.
Код:
Код:
|
![]() |
![]() |
![]() |
#44 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]() Цитата:
Неужели не сообразили на что это был пример? При выделении памяти под второй объект с хорошей вероятностью эта память может быть выделена на ровно том же самом месте, что и для старого объекта. Конечно, тут сильно зависит от менеджера памяти и его логики. Но суть примера в том, что не важно как, а такая ситуация всегда будет происходить. Ну, в каждом конкретном случае код может быть разным. Соответственно, в примере: Код:
Если же у вас проверка прошла - это значит, что вам повезло (или не повезло - смотря как посмотреть): просто менеджер памяти решил пока не использовать повторно старый блок памяти, а выделил новый. Понятно, что так или иначе, но старый блок памяти будет когда-то заново использован. И нет гарантии, что не под объект. P.S. У вас FastMM?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
![]() |
![]() |
![]() |
#45 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
Sibedir, обращение к уже освобожденной памяти кучи всегда опасно.
поэтому советую принять за постулат такое: "если объект уничтожен, то использовать его уже нельзя" Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#46 | |||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Цитата:
Код:
Цитата:
|
|||
![]() |
![]() |
![]() |
#47 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#48 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Поясни ...
|
![]() |
![]() |
![]() |
#49 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Эй, да с такой логикой можно юзать SafeMM - он вообще никогда память не отпускает
![]()
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#50 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Неправильно выделена память. С++ | Purr | Помощь студентам | 7 | 31.10.2010 20:05 |
Как передвигать объект если он не под формой.VB | somebody94 | Помощь студентам | 1 | 29.06.2010 10:07 |
Объект PageSetup. Как проверить пустые ли колонтитулы в документе Word?? =) | YaponskijGorodovoj | Компоненты Delphi | 0 | 09.06.2010 23:09 |
динамически выделить память под верхний треугольник квадратной матрицы | juventine | Общие вопросы C/C++ | 2 | 12.04.2009 13:06 |
Память, выделяемая под приложение. | Altera | Компоненты Delphi | 4 | 30.11.2008 18:13 |