Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2012, 16:25   #1
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию ShareMem delphi

Здраствуйте уважаемые знатоки! Интересуют пару вопросов:
1) Можно ли использовать ShareMem не в dll?
2) Отвечает ли ShareMem за особождение памяти классов и т.д.
Просто есть моя программка в которой происходят утечки памяти в какойто момент и не могу отловить? Поможет ли мне ShareMem?
RuVarez вне форума Ответить с цитированием
Старый 28.03.2012, 20:13   #2
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

что никто не поможет?
RuVarez вне форума Ответить с цитированием
Старый 28.03.2012, 20:36   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Открой для себя FastMM. Он лучше.

1. Его можно использовать и не в dll.
2. Менеджер памяти управляет выделением памяти под ресурсы приложения.

Последний раз редактировалось Человек_Борща; 28.03.2012 в 20:38.
Человек_Борща вне форума Ответить с цитированием
Старый 28.03.2012, 20:37   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

Цитата:
Просто есть моя программка в которой происходят утечки памяти в какойто момент и не могу отловить? Поможет ли мне ShareMem?
fastMM вам в помощь http://programmersforum.ru/showpost....17&postcount=3
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 28.03.2012, 21:09   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Просто есть моя программка в которой происходят утечки памяти в какойто момент и не могу отловить?
помоему по этому поводу советуют ЕврикаЛог.

а так, где то видимо чтото не освобождаете.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.03.2012, 21:13   #6
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

спасибо! почитал! но не понял а как отключить debug потому что пишт что тормозит мол
RuVarez вне форума Ответить с цитированием
Старый 28.03.2012, 21:50   #7
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

Хорошо а автоматического освобождение никак не добится?
RuVarez вне форума Ответить с цитированием
Старый 29.03.2012, 09:12   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

Цитата:
Хорошо а автоматического освобождение никак не добится?
информация к размышлению.
компонент это не тот значок, который мы бросаем на форму, а любой класс наследуемый от
Tcomponent F1
Цитата:
Ownership. The ability to manage other components. If component A owns component B, then A is responsible for destroying B when A is destroyed.
К сожалению от неправильной логики программы не спасет.
Есть и другие классы которые следят за порученными им объектами.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 29.03.2012 в 09:17.
evg_m вне форума Ответить с цитированием
Старый 30.03.2012, 08:34   #9
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Как искать утечки памяти: раз, два.

Что такое ShareMem и зачем он нужен.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 30.03.2012, 08:36   #10
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Хорошо а автоматического освобождение никак не добится?
Если код ваш - добиться. Используйте типы данных с автоматическим управлением времени жизни (интерфейсы, динамические строки, динамические массивы, варианты) и не используйте типы данных с ручным управлением памятью (объекты и указатели).

Если код не ваш - то уж как он сделан, так и будете с ним работать. При желании для неуправляемых типов можно сделать обёртку в виде автоуправляемого типа данных. Гуглите по smart pointers Delphi.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 Elvisnya Общие вопросы Delphi 3 28.04.2011 15:59
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 666dart666 Помощь студентам 11 04.11.2010 17:57
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism savva-paladin Софт 18 02.10.2010 20:24
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54