powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / делфинист предлагает сборку мусора
3 сообщений из 78, страница 4 из 4
делфинист предлагает сборку мусора
    #37885880
budden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно, а вроде вот это никто не приводил ещё:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1292
я, правда, пока не понял, как работает. Блин, сколько ж времени ушло зря...
...
Рейтинг: 0 / 0
делфинист предлагает сборку мусора
    #37886105
budden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем-то, применив code splicing к функциям из модуля system, можно сделать так, чтобы декларирование переменной определённого типа приводило к вызову нужного кода в момент входа и выхода из функции. Т.е., сделать так, чтобы было достаточно писать
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure p(); 
var o:TMyObject;
var fr:stackFr; 
begin  
// fr:=mkStackFr; // это будет уже не нужно
o:=TMyObject.Create; onStack(o); 
o.callSomeMethod;
end; // o автоматически удаляется

Накладные расходы были бы относительно малы - ещё одно ветвление в коде инициализации и деинициализации переменной (их там уже и так штук 5). При этом стали бы не нужны интерфейсы для реализации "размещения на стеке". Но, по правде говоря, писать один раз "fr:=mkStackFr;" меня не настолько обременяет, чтобы возиться с этим и порождать проблемы при переходе к другим версиям Delphi.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
делфинист предлагает сборку мусора
    #39895735
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
debose,

Спасибо за ISafeGuard. Заюзал в одном месте, похоже что работает нормально.
...
Рейтинг: 0 / 0
3 сообщений из 78, страница 4 из 4
Форумы / Delphi [игнор отключен] [закрыт для гостей] / делфинист предлагает сборку мусора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]