powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / повторное выделение той же памяти.
6 сообщений из 6, страница 1 из 1
повторное выделение той же памяти.
    #39849586
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разбираюсь с переводом ПС под ARC (под андроидом), где-то что-то ломается.
При вызове
curr := TPSTypeRec.Create(self);

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
constructor TPSTypeRec.Create(Owner: TPSExec);
begin
  inherited Create;
  FRefCount := 3;
  FAttributes := TPSRuntimeAttributes.Create(Owner);
end;

constructor TPSRuntimeAttributes.Create(AOwner: TPSExec);
begin
  inherited Create;
  FAttributes := TPSObjectList.Create;
  FOwner := AOwner;
end;



в _ClassCreate для TPSTypeRec выделяется память, все нормально. В конструкторе доходит до строки FAttributes := TPSRuntimeAttributes.Create(Owner);
Затем то же самое идет для TPSRuntimeAttributes, заходит в конструктор TPSRuntimeAttributes, подходит к строке FAttributes := TPSObjectList.Create;
И выделяет память на него - с указателем тем же, что в Self в конструкторе TPSTypeRec. Получается 2 объекта с одним указателем.
Память первого объекта (да и сам объект) перед этим не освобождается. И поблизости от этого адреса тоже.

Перед этим, при ините создается еще одна переменная TPSTypeRec, но там такого нет. Что-то ломается по пути, но что именно и где - непонятно, я даже не могу понять куда копать. Пока из твердых зацепок - вот это 100% повторяемое двойное выделение памяти.

Подскажите, в какую сторону копать?

Delphi 10.3.2, если что.
...
Рейтинг: 0 / 0
повторное выделение той же памяти.
    #39849631
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vizit0rРазбираюсь с переводом ПС под ARC
Скоро ARC выпилят отовсюду. Просто к сведению.
...
Рейтинг: 0 / 0
повторное выделение той же памяти.
    #39849638
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколько скоро?
...
Рейтинг: 0 / 0
повторное выделение той же памяти.
    #39849644
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
через пару версий это не настолько скоро )))
попробовал разобраться в том что вы написали
у меня все работает предсказуемо, под каждый объект выделяется память, для каждого добавляется счетчик ссылок
...
Рейтинг: 0 / 0
повторное выделение той же памяти.
    #39849646
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vizit0rнасколько скоро?
Точных сроков, боюсь, даже у абракадабры нет, но цель в комментариях к роадмапу была озвучена более чем ясно.
...
Рейтинг: 0 / 0
повторное выделение той же памяти.
    #39849906
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо придется забить.
Переводить код движка, где тонны объектов, как кастомных, так и стандарных, и все это перемешано с указателями - оказалось весьма неинтересно.
Вызов дельфийских функций через Invoke переписал, так что на маках и линухах будет работать, а мобильные платформы пусть ждут когда ARC уберут.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / повторное выделение той же памяти.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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